Я работаю над приложением, а одно из видов - UICollectionView. Я получил представление коллекции, чтобы работать полностью. Когда пользователь нажимает на одну из камер просмотра коллекции, открывается новое изображение с фотографией. Однако при попытке прокрутки в представлении коллекции приложение падает.Ошибка приложения при прокрутке по UICollectionView
Вот мой код:
let cellMapArray = [UIImage(named: "pomona.jpg"), UIImage(named: "Pitzer.jpg"), UIImage(named: "Mudd.jpg"), UIImage(named: "Scripps.jpg"), UIImage(named: "CMC1.jpg")]
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int
{
return self.schoolNames.count
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell
{
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "cell", for: indexPath) as! CollectionViewCell
cell.imageView?.image = self.cellMapArray[indexPath.row]
cell.imageTitle?.text = self.schoolNames[indexPath.row]
return cell
}
func collectionView(_ collectionView: UICollectionView, didSelectItemAt indexPath: IndexPath)
{
self.performSegue(withIdentifier: "showImage", sender: self)
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?)
{
if segue.identifier == "showImage"
{
let indexPaths = self.collectionView!.indexPathsForSelectedItems!
let indexPath = indexPaths[0] as IndexPath
let vc = segue.destination as! NewViewController
vc.image = self.mapArray[indexPath.row]!
vc.title = self.schoolNames[indexPath.row]
}
}
И линия, которая выделяется, когда происходит сбой приложения является:
cell.imageView?.image = self.cellMapArray[indexPath.row]
Ошибки я получаю
fatal error: Index out of range (lldb)." And the line of code is highlighted with the error "Thread 1: EXC_BAD_INSTRUCTION (code=EXC_l386_INVOP, subcode=0x0)
Любая помощь будет очень ценим!
Использование нескольких массивов в качестве источника данных подвержены ошибкам. Возникает ошибка Если количество элементов в 'schoolNames' и' cellMapArray' не равно. Используйте специальный класс или структуру, чтобы избежать такой ошибки. – vadian