У меня есть два отдельных контроллера представления.
В ViewController1
у меня есть CollectionView1
и клетка, которая отлично работает. Я настроил ячейку, используя storyboard
с ReuseIdentifier "Cell1"
.
В ViewController2
у меня есть еще одна CollectionView2
и другая ячейка, которая работает нормально. Я настроил ячейку также используя storyboard
с ReuseIdentifier "Cell2"
.
Обе ячейки имеют собственные классы ячеек UserCell1
и UserCell2
и отлично работают в отдельных CollectionViews
.
Теперь для 2-й ячейки в CollectionView2
я хочу использовать ячейку из первого представления коллекции (ie. IndexPath(row: 1, section: 0))
.
В CollectionView2
, я хочу:
IndexPath(row: 0, section: 0) -> "Cell1"
IndexPath(row: 1, section: 0) -> "Cell2"
На ViewController2
, в пределах cellForItemAt
я попытался использовать формулу, которая указывает, какая ячейка равна dequeue
на каждом index
. Однако, это говорит мне, что ячейка из первого ViewController
не зарегистрирована ... но та же самая ячейка работает в своем доме CollectionView
, поэтому ReuseIdentifier
явно работает.
В пределах cellForItemAt (numberOfRowsInSection = 2):
if indexPath == IndexPath(row: 0, section: 0) {
guard let cell1 = collectionView.dequeueReusableCell(withReuseIdentifier: "Cell1", for: indexPath) as? UserCell1 else { return UICollectionViewCell() }
cell1.configure(user: selectedUser)
return cell1
} else if indexPath == IndexPath(row: 1, section: 0) {
guard let cell2 = collectionView.dequeueReusableCell(withReuseIdentifier: "Cell2", for: indexPath) as? UserCell2 else { return UICollectionViewCell() }
cell2.configure(user: selectedUser)
return cell2
} else {
return UICollectionViewCell()
}
Я получаю ошибку:
Terminating app due to uncaught exception 'NSInternalInconsistencyException', reason: 'could not dequeue a view of kind: UICollectionElementKindCell with identifier Cell1 - must register a nib or a class for the identifier or connect a prototype cell in a storyboard'
Спасибо заранее !!!! Это сводит меня с ума: (