我遇到了Core Data的一个奇怪问题。目标是iOS 5.0

这行代码:

   NSArray *results = [self executeFetchRequest:request error:&error];


退出当前方法。在该行之后不执行任何代码。该应用程序不会崩溃。没有异常被抛出。这种情况偶尔发生,而不是每次都发生。

当我逐步执行代码并到达那行时,它只是从当前方法返回。

有任何提示,线索等吗?

感谢您的时间。

最佳答案

如注释中所述,获取可能在单独的线程上执行。这就解释了为什么应用程序不会崩溃。

在没有看到代码的情况下,崩溃可能是由错误的提取请求(可能是其语法)引起的。

尝试设置一个断点并至少打印该语句,例如在控制台中使用po requestNSLog(yourStatament)您应该能够看到整个语句。看看其中是否有零。

另外,我看到您在执行获取中使用了self。如果这是一个单独的线程,我可能会强烈引用self来让主线程释放资源。但这只是一个猜测。

10-05 20:23