有时我会从 viewForSupplementaryElementOfKind 得到这个“空数组的索引 0 超出范围”错误。它只是有时发生,通常集合正常加载并且一切运行顺利。我想知道什么数组是空的?注册的细胞?(我尝试通过代码或从界面生成器注册它们,但仍然没有变化)
我猜测有时在加载集合时调用此方法太早,并且缺少一些尚未加载的数据。
有人可以指出我的任何方向吗?
我的实现非常简单:(我在视图上使用了正确的重用标识符)
- (UICollectionReusableView *)collectionView:(UICollectionView *)theCollectionView viewForSupplementaryElementOfKind:(NSString *)kind atIndexPath:(NSIndexPath *)theIndexPath{
UICollectionReusableView *theView;
if(kind == UICollectionElementKindSectionHeader)
{
theView = [theCollectionView dequeueReusableSupplementaryViewOfKind:UICollectionElementKindSectionHeader withReuseIdentifier:@"header" forIndexPath:theIndexPath];
} else {
theView = [theCollectionView dequeueReusableSupplementaryViewOfKind:UICollectionElementKindSectionFooter withReuseIdentifier:@"footer" forIndexPath:theIndexPath];
}
return theView;}