2016-12-25 10 views
-1

私はアプリケーションで作業しており、ビューの1つはUICollectionViewです。私は完全にうまく動作するようにコレクションビューを得ました。ユーザがコレクションビューセルの1つを押すと、新しいビューが写真とともに開きます。しかし、私はコレクションビューをスクロールしようとすると、アプリケーションがクラッシュします。ここで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)

です非常に感謝!エラー状態として

+2

の要素を有するようにcellMapArrayは、アレイに十分な要素を有することを確認してください。 'schoolNames'と' cellMapArray'の項目の数が等しくない場合、エラーが発生します。この種のエラーを避けるには、カスタムクラスまたは構造体を使用します。 – vadian

答えて

2

indexPath.row値はアレイcellMapArrayの境界内にありません。アレイは、データ・ソースは、エラーが発生しやすいように、複数のアレイを使用して索引indexPath.row

関連する問題