2013-02-10 61 views
0

我是iOS開發新手,無法識別SIGABRT的源。我已經縮小到UIViewController子類的初始化期間發生的事情,特別是在其loadViewviewDidLoad方法之間。loadView和viewDidLoad之間的SIGABRT

我在我的UIViewController子類中調用了每個方法過載中的NSLog,從而縮小了範圍。但是,我無法從調試器獲得更多的粒度;我無法步入[super loadView]方法。是否有任何技術來調試除NSLog之外的其他SIGABRT並使用調試器進行調試?有什麼方法可以準確地看到異常拋出的位置嗎?

具體節目細節

該程序使用核心數據;我按照this tutorial創建了它。我相信SIGABRT在我運行「Relationships In Action」部分之後開始發生,並且之前沒有發生過(我在前一部分末尾已經成功構建了一個認爲)。具體而言,我可以成功添加人員,但PersonDetailTableViewController會在loadViewviewDidLoad之間引發SIGABRT。

我試過從iPhone模擬器中刪除應用程序,並且運行一個產品>清潔;沒有任何影響。

+2

嘗試在所有異常中添加斷點,http://stackoverflow.com/questions/10844725/why-does-nsassert-break-in-main-instead-of-in-the-code-that-c​​all-the-assertion/10845508 #10845508 – 2013-02-10 21:20:37

+0

嗯,好吧,現在它只停在[super loadView]調用上。我在想我可能在我的故事板上設置了錯誤的東西,但是我已經衝過去了,沒有任何東西突然出現在我身上。 – ericsoco 2013-02-10 21:31:05

+0

您的故事板中可能存在錯誤的班級名稱? – 2013-02-10 21:40:12

回答

0

發現罪魁禍首。我以前通過ctrl +從Table View CellText Field拖到我的UITableViewController子類中,錯誤地創建了IBOutlet。我手動刪除了創建的代碼,但連接保留在Connections Inspector中。刪除該連接解決了問題 - 不再需要SIGABRT。

這是不幸的Xcode中看到的問題(見附件圖像中的感嘆號),但沒有告訴我這件事,除了神祕的SIGABRT任何方式....

Connections inspector shows invalid connection

相關問題