iOS之estimatedHeightForRowAtIndexPath制止程序EXC_BAD_ACCESS

在你的品类中把estimatedHeightForRowAtIndexPath方法写实现以下,再次来到一个估价低度(随便估,笔者建议仍然遵照常规思路来写,大概中度是不怎么就再次来到多少),这样就不会报EXC_BAD_ACCESS错误了.

注意:estimatedHeightForRowAtIndexPath方法既是底下这一个方法.

- (CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath;

知识进行:

  • 在没有落实estimatedHeightForRowAtIndexPath方法时,这多少个主意(numberOfRowsInSection,heightForRowAtIndexPathACCESS,,cellForRowAtIndexPath)的调用顺序如下:
    • 1.先调用numberOfRowsInSection
    • 2.再调用heightForRowAtIndexPath
    • 3.再调用cellForRowAtIndexPath
  • 实现了estimatedHeightForRowAtIndexPath措施后,调用顺序是这样的

    • 1.numberOfRowsInSection
    • 2.estimatedHeightForRowAtIndexPath
    • 3.cellForRowAtIndexPath
    • 4.heightForRowAtIndexPath
  • 接下去自己来验证以下出现EXC_BAD_ACCESS错误的原由:

    • 当你没用实现**estimatedHeightForRowAtIndexPath方法,在heightForRowAtIndexPath艺术获得cell的时候,会形成一个死循环,这就是numberOfRowsInSectionheightForRowAtIndexPath方法不断互调,最终程序崩溃.

相关文章