我正在使用核心数据,并在实时应用程序中遇到一些情况,我收到一些崩溃报告,并出现以下错误:
Cannot create an NSPersistentStoreCoordinator with a nil model
Run Code Online (Sandbox Code Playgroud)
我发现这偶尔发生在模拟器(以及设备)中,但它不会一直发生,我还没有找到导致它有时发生的原因的相关性,而不是其他时间.
在做了一些调试之后,我发现根本原因(从代码的角度来看)有时候,managedObjectModel创建方法返回nil.这是我在AppDelegate中的实现:
- (NSManagedObjectModel *)managedObjectModel {
if (__managedObjectModel != nil) {
return __managedObjectModel;
}
NSURL *modelURL = [[NSBundle mainBundle] URLForResource:@"AppName" withExtension:@"momd"];
__managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
return __managedObjectModel;
}
Run Code Online (Sandbox Code Playgroud)
偶尔我很幸运能在崩溃发生时运行调试器,并且我已经确认正在调用上述方法,并且该initWithContentsOfURL:
方法已执行,但返回nil
.
任何人都可以想到为什么[[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL]
偶尔会回来nil
?
归档时间: |
|
查看次数: |
4241 次 |
最近记录: |