我是一个菜鸟,正在尝试将书中的示例转换为我可以使用的应用程序。
示例应用程序是联系人应用程序的修改版本,并且可以正常工作。
我做了一些进一步的修改,搜索不再有效。它在以下行上发出 sigabrts
self.filteredAnswercards = [flattenedArray
filteredArrayUsingPredicate:predicate];
我难住了。我的头被我的键盘敲得血淋淋的。
非常感谢任何帮助。
谢谢。
我的建议是将崩溃的行包裹在 @try/@catch 块中,并在 catch 中记录异常和异常的 callStackSymbols 方法的结果。
作为记录,Xcode 4.x 版本的部分问题在于它们在告诉您异常来自何处方面比 3.x 版本差得多。出于这个原因,熟悉使程序或调试器告诉你你需要知道什么的技巧是非常重要的。
很难说没有看到更多的代码。Sigabort 通常意味着抛出了异常。您可以放置一个断点objc_exception_throw以获取回溯,这应该有助于突出原因。
如果您在上述情况下没有得到任何新信息,其他人说完全重新启动计算机会有所帮助......但我没有可以验证这一点的情况。
---- 根据评论进行编辑 -----
听起来好像filteredAnswercards是 nil,那肯定会导致 Sigabort。正确分配该数组,您应该一切顺利。
我猜那predicate是零。你在哪里分配的?或者你从来没有分配它?