iOS一些bug

Assertion failure in -[UISection

2017-07-05  本文已影响348人  陈长见

今天有位同事, 写的代码在刷新数据的时候崩溃, 打印台显示:
[ 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的高度时改为自动计算行高的方式

问题就会解决了

上一篇下一篇

猜你喜欢

热点阅读