我的程序需要使用一个预填充的 sql 数据库,然后将记录保存到应用程序的数据库中。不幸的是,由于某种原因,应用程序在应用程序委托中退出了此方法:
#pragma mark -
#pragma mark Core Data stack
- (NSManagedObjectModel *)managedObjectModel {
if (managedObjectModel_ != nil) {
return managedObjectModel_;
}
NSString *modelPath = [[NSBundle mainBundle] pathForResource:@"iProspectLite" ofType:@"sqlite"];
NSURL *modelURL = [NSURL fileURLWithPath:modelPath];
managedObjectModel_ = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
return managedObjectModel_;
}
似乎应用程序找不到有效的 managedObjectModel_,或者它不存在,或者没有创建一个。我该如何解决这个问题?
我在控制台上收到的错误消息之一是:由于未捕获的异常原因而终止应用程序:[NSKeyedUnarchiver initForReadingWithData:]
其中一部分我已经缩小到 NSManagedObject,因为似乎没有创建或找到一个。
其他可能有用的信息:我添加了一个实体并定义了许多其他核心数据教程中描述的属性以下是定义我的实体的类:
#import "Mine.h"
@implementation Mine
@dynamic primarykey;
@dynamic name;
@dynamic firstCommodity;
@dynamic longitude;
@dynamic county;
@dynamic secondCommodity;
@dynamic latitude;
@dynamic thirdCommodity;
@end