executeFetchRequest退出当前方法

时间:2013-09-09 15:38:31

标签: ios core-data

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

这行代码:

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

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

当我单步执行代码并点击该行时,它只是从当前方法返回。

任何提示,线索等?

感谢您的时间。

1 个答案:

答案 0 :(得分:1)

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

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

尝试设置断点并至少打印语句,例如在控制台中使用po request,或NSLog(yourStatament)您应该能够看到整个语句。看看那里的东西是否 nil

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