我遇到了Core Data的一个奇怪问题。目标是iOS 5.0
这行代码:
NSArray *results = [self executeFetchRequest:request error:&error];
退出当前方法。在该行之后不执行任何代码。该应用程序不会崩溃。没有异常被抛出。这种情况偶尔发生,而不是每次都发生。
当我逐步执行代码并到达那行时,它只是从当前方法返回。
有任何提示,线索等吗?
感谢您的时间。
最佳答案
如注释中所述,获取可能在单独的线程上执行。这就解释了为什么应用程序不会崩溃。
在没有看到代码的情况下,崩溃可能是由错误的提取请求(可能是其语法)引起的。
尝试设置一个断点并至少打印该语句,例如在控制台中使用po request
或NSLog(yourStatament)
您应该能够看到整个语句。看看其中是否有零。
另外,我看到您在执行获取中使用了self
。如果这是一个单独的线程,我可能会强烈引用self
来让主线程释放资源。但这只是一个猜测。