failed to obtain a cell from its dataSource

错误类型

错误原因分析

  • 是因为你的cell被调用的早了。先循环使用了cell,后又创建cell。顺序错了。

解决办法

  • 方法一
@interface ViewController ()<UITableViewDataSource,UITableViewDelegate>
{
    UINib * nib;
}
@end

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath{
    static NSString * cellIdentifier = @"GameTableViewCell";
    
    if (nib == nil) {
        nib = [UINib nibWithNibName:@"GameTableViewCell" bundle:nil];
        [tableView registerNib:nib forCellReuseIdentifier:cellIdentifier];
        NSLog(@"我是从nib过来的");
    }
    GameTableViewCell * cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier];
    return cell;
} 
  • 方法2 调整代码顺序
    尤其需要注意tableView的注册cell的方法
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 原因: UITableView没有找到重用的Cell,CellForIndex返回了nil。 Debug方法: 在...
    zooleebee阅读 4,898评论 1 0
  • 我们在上一篇《通过代码自定义不等高cell》中学习了tableView的相关知识,本文将在上文的基础上,利用sto...
    啊世ka阅读 5,441评论 2 7
  • 不定期更新的日常 自南下以来,倍感囊中羞涩,虽然手无寸金可依旧不知节制,进而不得不思索求财之法。本想追随诗和远方一...
    南下过客阅读 1,630评论 0 3
  • 随着用户和WiFi热点的增加,陈大年开启了一次“赚钱”的尝试。2016年6月,他们在WiFi万能钥匙的基础上推出针...
    给哈哈哈阅读 1,036评论 0 0
  • 感觉快跟不上阅读的节奏了,于是我优先选择及时能读的书了,今天开始这本,如题。 01 只有改变才能看见未来。 一件事...
    Alina0127阅读 1,526评论 1 0

友情链接更多精彩内容