iOS之estimatedHeightForRowAtIndexPath避免程式EXC_BAD_ACCESS,

來源:互聯網
上載者:User

iOS之estimatedHeightForRowAtIndexPath避免程式EXC_BAD_ACCESS,

在你的項目中把estimatedHeightForRowAtIndexPath方法寫實現以下,返回一個估計高度(隨便估,筆者建議還是按照正常思路來寫,大概高度是多少就返回多少),這樣就不會報EXC_BAD_ACCESS錯誤了.

注意:estimatedHeightForRowAtIndexPath方法既是下面這個方法.

- (CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath;
知識拓展:
  • 在沒有實現estimatedHeightForRowAtIndexPath方法時,這三個方法(numberOfRowsInSection,heightForRowAtIndexPath,cellForRowAtIndexPath)的調用順序如下:
    • 1.先調用numberOfRowsInSection
    • 2.再調用heightForRowAtIndexPath
    • 3.再調用cellForRowAtIndexPath
  • 實現了estimatedHeightForRowAtIndexPath方法後,調用順序是這樣的

    • 1.numberOfRowsInSection
    • 2.estimatedHeightForRowAtIndexPath
    • 3.cellForRowAtIndexPath
    • 4.heightForRowAtIndexPath
  • 接下來我來說明以下出現EXC_BAD_ACCESS錯誤的原因:

    • 當你沒用實現**estimatedHeightForRowAtIndexPath方法,在heightForRowAtIndexPath方法擷取cell的時候,會形成一個死迴圈,那就是numberOfRowsInSectionheightForRowAtIndexPath方法不斷互調,最後程式崩潰.

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.