2016-07-18 18 views
0

は私のコードスニペットです:"[UICollectionViewData numberOfItemsBeforeSection:]"でアサーションエラーが発生する原因は何ですか?ここ

NSIndexSet *indexSet = self.selectedIndexSet; 
__block SGPhotoSelectorCell *cell; 

[indexSet enumerateIndexesUsingBlock:^(NSUInteger idx, BOOL * _Nonnull stop) { 

    NSLog(@"%lu", (unsigned long)idx); 
    ***NSIndexPath *indexPath = [NSIndexPath indexPathWithIndex:idx];*** 

    cell = (SGPhotoSelectorCell *)[collectionView cellForItemAtIndexPath:indexPath]; 
    cell.numLabel.text = [NSString stringWithFormat:@"%lu", (unsigned long)idx]; 

    [collectionView selectItemAtIndexPath:indexPath animated:NO scrollPosition:UICollectionViewScrollPositionNone]; 
}]; 

このエラーの理由は何ですか?

「のアサーションの失敗 - [UICollectionViewData numberOfItemsBeforeSection:]」

答えて

0

私はあなたが注意している場合、この問題は非常に簡単だと思います。もう一度クラッシュの原因を見てください。 "[UICollectionViewData numberOfItemsBeforeSection:]"でアサーションエラーが発生しました。意味はアイテムのセクションが見つからなかったので、 "NSIndexPath * indexPath = [NSIndexPath indexPathForItem:idx inSection:0];" * NSIndexPath indexPath = [NSIndexPath indexPathWithIndex:idx]; "を置き換えます。 Okey、Bingo

関連する問題