Я получаю индекс вне диапазона фатальной ошибки.Я пытаюсь реализовать 2 представления коллекции в одной ячейке контроллера табличного представления.Оба имеют разные источники данных.При загрузке данных изображения в ячейку из источника данных во 2-ю ячейку представления коллекции не загружаются данные изображения из-за этой ошибки.Даже когда я выгрузил содержимое BList
, в нем есть 5 объектов в паре (ключ, значение). Ошибка возникает в следующей строке
let bannerList = BList[indexPath.row]
Я смотрел на другиепохожие вопросы, но ни один из них не был полезен
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell
{
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "CollectionCell", for: indexPath) as! T_PCollectionViewCell
if (collectionView === upperBannerCollectionView) {
if OList.count > 0 {
let olist2 = OList[indexPath.row]
cell.load_image(olist2.banner_image)
}
} else {
if BList.count > 0 {
let blist = BList[indexPath.row]
cell.load_image(blist.banner_image)
}
}
return cell
}
Вот реализация для numberOfItems для collectionView
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int
{
if (collectionView === uBCollectionView) {
return self.OList.count
} else {
return self.BList.count
}
}
Добавлена отладка печати (BList) с изображением
отладка печати (BList) снимок экрана отладчика
Я не должен выводить такой индекс из-за ошибки диапазона при попытке загрузить данные из источников данных BannerList.