-[UICollectionView _createPreparedCellForItemAtIndexPath:withLayoutAttributes:applyAttributes:] 中的断言失败
自 IOS 7 以来我收到此错误。它在 IOS 6 中运行良好。
我环顾网络,发现了这个:
http://forums.xamarin.com/discussion/8233/ios-7-crash-in-collectionview
但是,解决方案没有意义
我想到了。我错误地使用了 CollectionView.RegisterClassForCell。显然我应该在设置视图控制器时使用 CollectionView.RegisterNibForCell 。这解决了问题。iOS 6 一定更宽容。
你们中的任何人都可以给我一个关于这个错误的提示吗
症状:
- 碰撞
- -[UICollectionView _createPreparedCellForItemAtIndexPath:withLayoutAttributes:applyAttributes:] 中的断言失败
- 适用于 IOS6 而不是 IOS 7
我怀疑的代码是这样的:
- (CGSize)collectionView:(UICollectionView *)collectionView
layout:(UICollectionViewLayout*)collectionViewLayout
sizeForItemAtIndexPath:(NSIndexPath *)indexPath {
CGSize sz = [BGCollectionViewCellImage defaultSize];
return sz;
}
但这似乎太普通了。
sz 只是 100*120 的 CGSize
另一个是这样的:
- (BGCollectionViewCellImage *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
BGCollectionViewCellImage * cell = [[BGCollectionViewCellImage alloc]init];
Image * img= self.arImages[indexPath.row];
[cell setImg:img andIndex:indexPath.row+1];
return cell;
}
也许我应该在 UITableViewCell 中使用 dequeue
我得到了另一个提示。如果我试图让一些单元格出队,我得到了这个:
2013-10-14 21:18:34.346 域名[24667:a0b] * 由于未捕获的异常“NSInternalInconsistencyException”而终止应用程序,原因:“无法将一种视图出列:带有标识符 BGCollectionViewCellImage 的 UICollectionElementKindCell - 必须注册一个 nib 或一个类用于标识符或连接情节提要中的原型单元' *首先抛出调用堆栈:(
看来我得先注册一些东西。