Привет, я использую UICollectionView внутри UICollectionViewCell в быстрой tvOS, чтобы он прокручивался как по горизонтали, так и по вертикали. Ниже приведен мой код просмотра Внешней коллекции.
func numberOfSectionsInCollectionView(collectionView: UICollectionView) -> Int {
return variableCount
}
func collectionView(collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
// Each section contains a single `CollectionViewContainerCell`.
return 1
}
func collectionView(collectionView: UICollectionView, cellForItemAtIndexPath indexPath: NSIndexPath) -> UICollectionViewCell {
// Dequeue a cell from the collection view.
if let cell = collectionView.dequeueReusableCellWithReuseIdentifier(CollectionViewContainerCell.reuseIdentifier, forIndexPath: indexPath) as? CollectionViewContainerCell
{
cell.configureWithData("some Parameters to build inner collectionView")
print("Returning Cell")
return cell
}
return CollectionViewContainerCell()
}
Метод configureWithData находится в CollectionViewContainerCell, и я вызываю API асинхронно и перезагружаю представление внутренней коллекции в dispatch_async.
Прокрутка и отображение работают нормально. Проблема возникает с данными, когда я прокручиваю внешний вид коллекции (4-я ячейка, которая изначально не загружена), где я получаю те же данные в 1-й ячейке. Я вижу, что когда я говорю dequeueReusableCellWithReuseIdentifier, он повторно использует память, выделенную для ячейки, которая изначально не видна. но я настраиваю ячейку, которая здесь не отражается. Любая помощь приветствуется.