私が得ているEXEC_BAD_ACCESSエラーの周りに頭を浮かべています。コードは以下の通りである:EXEC_BAD_ACCESS dispatch_asyncでセルの内容を入力
// Update the cell
dispatch_async(dispatch_get_main_queue(), {
let cell = collectionView.dequeueReusableCellWithReuseIdentifier("customCell", forIndexPath: indexPath) as! CustomCollectionViewCell // crash here
cell.image.image = image
if(collectionView.numberOfItemsInSection(0) > indexPath.row) {
self.collectionView.reloadData()
}
})
コードが非同期NSURLSession.dataTaskWithRequestから応答を受信した後collectionViewCellの画像を埋めるために設計されています。
let cell =
行でクラッシュが発生しています。なぜなら、私はindexPathが存在しなくなったからです(collectionViewの内容を変更したため)。私はそれを確認する方法がわからない。
私はif let cell =
の行に沿って何かがうまくいくと思っていましたが、その仕組みが間違っていると思います。そして、他の投稿を読むことで、コードをtry/catchブロックに入れることができないことがわかります。
アイデア?事前に多くの感謝!
これは 'cellForRow ...'で行いますか?あなたはそこにいなければなりません。 – tbilopavlovic
はい - これはそれのほんの一部です。行が表示され、その中のイメージが非同期で塗りつぶされ、スクロールなどが滑らかになるようなアイデアです。 – Ben
でも、これを内部でやっているのはなぜですか? 'let cell = ....'? – tbilopavlovic