Ey guys,所以我有這個preloader(Xcode命令行實用程序項目),它預裝我的iPhone應用程序的sqlite存儲,它一直工作得很好,直到現在,因爲它總是給我一個不兼容的存儲錯誤。因此,不是在預加載器中引用.mom文件,而是在預加載器中創建它以希望繞過此問題。這是我的問題進入的地方,我如何確定preloader存儲.mom文件的位置,我正在創建它?有什麼辦法可以告訴它放置在哪裏?如何確定/控制管理對象模型(.mom)文件的存儲位置?
下面是一些相關的代碼片段。
從iPhone應用程序中: /** 返回應用程序的託管對象模型。 如果模型尚不存在,則通過合併應用程序包中找到的所有模型來創建它。 */ - (NSManagedObjectModel *)managedObjectModel {
if (managedObjectModel != nil) {
return managedObjectModel;
}
//managedObjectModel = [[NSManagedObjectModel mergedModelFromBundles:nil] retain];
NSURL *modelURL = [NSURL fileURLWithPath:@"path/to/Parking.mom"];
managedObjectModel = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
#pragma mark TODO change below line to search for your project's mom file
NSString *path = [[NSBundle mainBundle] pathForResource:@"Parking" ofType:@"mom"];
return managedObjectModel;
}
從預加載(Xcode的命令行工具項目)中:
NSManagedObjectModel *managedObjectModel(NSString* momPath) {
static NSManagedObjectModel *model = nil;
if (model != nil) {
return model;
}
model = [[NSManagedObjectModel mergedModelFromBundles:nil] retain];
//NSURL *modelURL = [NSURL fileURLWithPath:momPath];
//model = [[NSManagedObjectModel alloc] initWithContentsOfURL:modelURL];
return model;
}
如果你仔細觀察的代碼,你可以看到我換什麼在每個文件中。
在此先感謝!