dequeueReusableCellWithReuseIdentifier 上的 iOS SIGABRT

标签 ios cocoa-touch uicollectionview

<分区>

我正在尝试让 UICollectionView 在我的应用程序中工作,但出于某种原因,我不断收到 sigabrt。我得到的错误是

* -[UICollectionView _dequeueReusableViewOfKind:withIdentifier:forIndexPath:] 断言失败

我用谷歌搜索了一下,似乎大多数时候这与忽略 registerClass forCellWithReuseIdentifier 有关,但我是按照 View did 加载方法中的要求执行此操作的。我的代码如下:

 - (void)viewDidLoad
{
    [super viewDidLoad];
    // Do any additional setup after loading the view from its nib.
    [self.collectionView registerClass:[UICollectionViewCell class] forCellWithReuseIdentifier:@"Cell"];
    [self.collectionView reloadData];
    self.refreshControl = [[UIRefreshControl alloc]init];
    [self.collectionView addSubview:self.refreshControl];

}

- (UICollectionViewCell *)collectionView:(UICollectionView *)cv cellForItemAtIndexPath:(NSIndexPath *)indexPath {
    UICollectionViewCell *cell = [cv dequeueReusableCellWithReuseIdentifier:@"Cell " forIndexPath:indexPath];
    cell.backgroundColor = [UIColor whiteColor];
    return cell;
}

有谁知道我可能遗漏了什么?

最佳答案

一个单元标识符是“Cell”,另一个是“Cell”。即单元格后的额外空间,将其删除。

关于dequeueReusableCellWithReuseIdentifier 上的 iOS SIGABRT,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16866624/

相关文章:

ios - swift 3 : create a material-design-chip

objective-c - AVAssetReader 不读取整个文件?

ios - 如何使用相对于容器调整大小的项目初始化 UICollectionViewController?

ios - 如何在不先将文件下载到设备的情况下从 iCloud 删除文件?

swift - 按下时更改 UICollectionView 单元格大小 - Xcode Swift

ios - 使用未解析的标识符错误

ios - 显示详细信息转场时未调用 Deinit

ios - 无法从小部件打开应用程序。 (使用网址)

iOS:未选择单元格时的indexPathForItemAtPoint

ios - 将 UIView 透视变换与其他 CATranform3D 相结合