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