2

我是一个菜鸟,正在尝试将书中的示例转换为我可以使用的应用程序。

示例应用程序是联系人应用程序的修改版本,并且可以正常工作。

我做了一些进一步的修改,搜索不再有效。它在以下行上发出 sigabrts

self.filteredAnswercards = [flattenedArray
                            filteredArrayUsingPredicate:predicate];

我难住了。我的头被我的键盘敲得血淋淋的。

非常感谢任何帮助。

谢谢。

4

3 回答 3

3

我的建议是将崩溃的行包裹在 @try/@catch 块中,并在 catch 中记录异常和异常的 callStackSymbols 方法的结果。

作为记录,Xcode 4.x 版本的部分问题在于它们在告诉您异常来自何处方面比 3.x 版本差得多。出于这个原因,熟悉使程序或调试器告诉你你需要知道什么的技巧是非常重要的。

于 2012-04-26T01:25:40.743 回答
0

很难说没有看到更多的代码。Sigabort 通常意味着抛出了异常。您可以放置​​一个断点objc_exception_throw以获取回溯,这应该有助于突出原因。

如果您在上述情况下没有得到任何新信息,其他人说完全重新启动计算机会有所帮助......但我没有可以验证这一点的情况。

---- 根据评论进行编辑 -----

听起来好像filteredAnswercards是 nil,那肯定会导致 Sigabort。正确分配该数组,您应该一切顺利。

于 2012-04-25T12:31:53.157 回答
0

我猜那predicate是零。你在哪里分配的?或者你从来没有分配它?

于 2012-04-25T14:36:39.927 回答