Assertion failure in -[UISectionRowData refreshWithSection:tableView:tableViewRowData:]解决

今天有位同事, 写的代码在刷新数据的时候崩溃, 打印台显示:
[ Assertion failure in -[UISectionRowData refreshWithSection:tableView:tableViewRowData:]

全局断点打在了刷新的第三方框架中的reloadData上, 我调试后发现这个现象只出现在了iOS8的真机上, 起初只是认为cell在生成的时候可能有什么原因导致的cell为空, 所以cell在进行渲染时除了问题, 但是打断点在- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath方法中时, 发现崩溃后并没有走这个方法

最后说下解决办法:
同事使用了iOS8以后的自适应布局, 但是项目是纯代码生成的, 并没有使用xib布局cell, 汗~~~. 所以, 如果你也是纯代码写的项目, 也遇到了这个问题, 你可以先查看你的代码中是否有下面这两句代码:

_tableView.estimatedRowHeight = CGFLOAT_MIN;
_tableView.rowHeight = UITableViewAutomaticDimension;

如果有的话, 将这两句删除, 在生成cell的高度时改为自动计算行高的方式

问题就会解决了

推荐阅读更多精彩内容

  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 10,472评论 4 57
  • 不知道我爸是什么时候长大的,从一个少年,突然变成了我的爸爸。我看过我爸年轻时候的照片,头发很长,高高的,瘦瘦的,现...
    李木木子子阅读 152评论 0 3
  • 生病在家睡了两天,感觉自己快要发霉了。今天状态好点,迫不及待地出门了。去哪,不知道,管它呢,出去就好。 女娲用泥土...
    一个正经的小疯子阅读 454评论 0 0
  • 小时候的美,源自动画片里的公主,还珠格格里的小燕子,对面楼阿娜多姿的阿姨;上小学的美,有教科书的山水风景,温柔的音...
    刘小腹阅读 254评论 0 0
  • 一、对Xcode进行设置 如果想要在TimeProfile中直观的查看方法耗时,需要对Xcode进行设置 在Xco...
    YunsChou阅读 2,912评论 4 2