loadView和viewDidLoad之间的SIGABRT

时间:2013-02-10 21:07:04

标签: ios objective-c debugging uiviewcontroller sigabrt

我是iOS开发的新手,无法识别SIGABRT的来源。我已将其缩小到UIViewController子类初始化过程中发生的事情,特别是在loadViewviewDidLoad方法之间。

我在NSLog子类中的每个方法重载中调用UIViewController来缩小范围。但是,我无法从调试器中获得更多粒度;我无法进入[super loadView]方法。是否有任何技术可以调试除NSLog之外的SIGABRT并逐步调试调试器?有没有办法确切地看到抛出异常的位置?

特定于计划的详细信息

该程序使用核心数据;我是在this tutorial之后创建的。我相信SIGABRT在我执行“关系在行动”部分后开始发生,并且之前没有发生过(我认为我在上一节结束时成功构建了)。具体来说,我可以成功添加一个Person,但PersonDetailTableViewController会在loadViewviewDidLoad之间抛出一个SIGABRT。

我尝试从iPhone模拟器中删除该应用,并运行产品>清洁;没有任何影响。

1 个答案:

答案 0 :(得分:0)

找到了罪魁祸首。我之前通过ctrl +从Table View Cell的{​​{1}}拖动到我的Text Field子类中错误地创建了一个IBOutlet。我手动删除了这个创建的代码,但是Connections Inspector中仍然存在连接。删除该连接解决了问题 - 不再有SIGABRT。

不幸的是,Xcode看到了问题(请参阅附图中的感叹号),但除了神秘的SIGABRT之外没有以任何方式告诉我它。

Connections inspector shows invalid connection