[英]strange error when reload tableView
當您的tableView(或您要將消息發送到的任何對象)為nil時,就會發生這種情況。 因此,在異步調用在主隊列上調度此事件之前的某個時候,tableView被釋放了。
查看此鏈接以獲取一些信息:
http://www.touch-code-magazine.com/how-to-debug-exc_bad_access/
在以下情況下,您通常會得到EXC_BAD_ACCESS錯誤:
您正在嘗試訪問未初始化的對象。
您正在嘗試訪問不再存在的對象。 它要么被釋放,要么為零。 在ARC模式下,請確保您擁有要使用的對象的所有權。 您正在將消息傳遞給該對象無法理解的對象。
錯誤的類型轉換也會發生這種情況。 就像下面我試圖用%@而不是%d訪問int的行。
int myAwesomeInt = 9;
NSLog(@"%@", myAwesomeInt);
如何調試:
確定造成崩潰的原因。 它是否在特定視圖控制器didLoad的視圖中或在委托方法中或在特定操作上崩潰了? 這通常將有助於找到引起錯誤的對象。
(在您的情況下,請查看重新加載表時發生的具體情況。逐行執行堆棧跟蹤,並查看重新加載期間代碼的作用)
大多數時候,“ NSZombies”可以幫助識別死物。 您可以通過編輯方案產品->編輯方案->診斷來啟用NSZombies。
如果仍然找不到根本原因,那么請始終從子視圖控制器轉到父視圖控制器,以查看需要保留哪些對象或正確傳遞什么消息。 查看靜態分析器和儀器進行高級調試。
信用: 基本故障排除指南
希望這可以幫助。 祝好運
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.