0

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

这行代码:

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

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

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

任何提示,线索等?

感谢您的时间。

4

1 回答 1

1

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

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

尝试放置一个断点并至少打印语句,例如po request在控制台中,或者NSLog(yourStatament)您应该能够看到整个语句。看看里面是否有nil

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

于 2013-09-10T08:48:08.890 回答