我正在使用http://nachbaur.com/blog/smarter-core-data找到的核心数据单例。
我的 AP.xcdatamodeld 文件包含名为 Customers 和约会的实体。
我遇到的问题是代码的这一部分。
NSString * const kDataManagerBundleName = @"AP";
NSString * const kDataManagerModelName = @"AP";
NSString * const kDataManagerSQLiteName = @"AP.sqlite";
- (NSManagedObjectModel*)objectModel {
if (_objectModel)
return _objectModel;
NSBundle *bundle = [NSBundle mainBundle];
if (kDataManagerBundleName) {
NSString *bundlePath = [[NSBundle mainBundle] pathForResource:kDataManagerBundleName ofType:@"bundle"];
bundle = [NSBundle bundleWithPath:bundlePath];
}
NSString *modelPath = [bundle pathForResource:kDataManagerModelName ofType:@"momd"];
NSLog(@"Path: %@",modelPath);
_objectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:[NSURL fileURLWithPath:modelPath]];
return _objectModel;
}
问题是modelPath为null。
我已经进入我的模拟器并右键单击了.app并浏览了它的内容并看到了一个名为 AP.momd 和 Appointments.momd 的文件夹。所以我不知道为什么它会返回 null ,因为文件存在。
我的文件名错了或路径错了吗?为什么modelPath为null?
答案 0 :(得分:0)
我能够解决这个问题。事实证明我有
NSString * const kDataManagerBundleName = @"AP";
应该是什么时候
NSString * const kDataManagerBundleName = nil;