0

我是 iOS 开发新手,无法识别SIGABRT. 我把它缩小到在UIViewController子类初始化期间发生的事情,特别是在它的loadViewviewDidLoad方法之间。

NSLog我通过调用子类中的每个方法重载来缩小范围UIViewController。但是,我无法从调试器中获得更多粒度;我无法进入该[super loadView]方法。除了 NSLogs 和单步调试器之外,还有什么技术可以调试 SIGABRT?有什么办法可以准确地看到异常是从哪里引发的?

程序特定的详细信息

该程序使用核心数据;我按照本教程创建了它。我相信 SIGABRT 是在我浏览完“Relationships In Action”部分之后开始发生的,而之前没有发生(我认为我在前一部分结束时已经成功构建)。具体来说,我可以成功添加一个人,但会在和PersonDetailTableViewController之间抛出一个 SIGABRT 。loadViewviewDidLoad

我尝试从 iPhone 模拟器中删除应用程序,并运行 Product > Clean;两者都没有任何效果。

4

1 回答 1

0

找到了罪魁祸首。我之前通过 ctrl+从 a 拖到我的子类中错误地创建Table View CellText FieldIBOutlet UITableViewController。我手动删除了此创建的代码,但连接检查器中仍保留一个连接。删除该连接解决了问题——不再需要 SIGABRT。

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

连接检查器显示无效连接

于 2013-02-10T21:46:52.720 回答