NSCollectionView отображает только первые 100 ячеек

Я пытаюсь отобразить 256 ячеек в NSCollectionView. Я использую Storyboard, но NSCollectionViewItem находится в отдельном xib. Он регистрируется в CollectionView при запуске. Объект DataSource содержит массив (NSMutableArray) с числами, которые загружаются в представленный объект NSCollectionViewItem, когда он предоставляется функцией makeItemWithIdentifier(...).

func collectionView(collectionView: NSCollectionView, numberOfItemsInSection section: Int) -> Int {
    return dataArray.count
}

func collectionView(collectionView: NSCollectionView, itemForRepresentedObjectAtIndexPath indexPath: NSIndexPath) -> NSCollectionViewItem {
    let item = collectionView.makeItemWithIdentifier("CellItem", forIndexPath: indexPath) as! CellCollectionViewItem
    item.representedObject = dataArray[indexPath.indexAtPosition(1)]
    item.index = indexPath.indexAtPosition(1)
    item.dataSource = self
    return item
}

Когда ячейки должны отображаться, отображаются только (точно) 100 ячеек вместо всех 256. Ни в коем случае массив данных не содержит 100 элементов. Кроме того, мой вывод отладки показывает, что на самом деле создаются все элементы NSCollectionViewItem. Это означает, что проблема должна заключаться в рендеринге представления коллекции. Есть ли ограничение на количество элементов, которые NSCollectionView может отображать одновременно? Что мне не хватает?

Остальные ячейки появляются, когда пользователь медленно изменяет размер окна, и снова исчезают, если пользователь быстро изменяет размер окна. Прекращает ли представление отображение через фиксированный промежуток времени?

Ячейки, появляющиеся при изменении размера окна и снова исчезающие после щелчка по ячейке (что вызывает перезагрузку reloadData( ) функция


person ArtyK    schedule 25.04.2016    source источник
comment
Это не настоящее решение проблемы, но я начал новый проект, чтобы попытаться воссоздать весь проект шаг за шагом. Проблема не возникает, поэтому я понятия не имею, что я сделал не так в первый раз.   -  person ArtyK    schedule 27.04.2016
comment
Вы все нашли решение этой проблемы? У меня похожая проблема, в моем представлении коллекции есть 3 элемента, когда я меняю представление, а затем возвращаюсь к представлению, содержащему представление моей коллекции, порядок элементов изменяется случайным образом. Очень странное поведение.   -  person Supertecnoboff    schedule 11.10.2017
comment
@Supertecnoboff Честно говоря, я так и не нашел решения. Количество магии, которую я не понимал, было слишком подавляющим. Я начал с нуля и попытался воссоздать это поведение, но тогда оно работало нормально. Вы уверены, что используете один и тот же экземпляр матрицы? Вы пытались вывести каждый элемент, добавленный в collectionView, с добавленным индексом?   -  person ArtyK    schedule 14.10.2017
comment
Я понимаю. Да, в итоге я использовал NSTableView с несколькими столбцами. Он выглядит точно так же, как представление коллекции, и к тому же более плавный.   -  person Supertecnoboff    schedule 14.10.2017
comment
@Supertecnoboff, ты нашел решение?   -  person jimwan    schedule 22.01.2019
comment
@jimwan stackoverflow.com/a/46713935/1598906   -  person Supertecnoboff    schedule 22.01.2019