Core data 为什么不是';NSManagedObjectModel是否正在加载?

Core data 为什么不是';NSManagedObjectModel是否正在加载?,core-data,Core Data,我可以用mergedModelFromBundles加载我的模型:很好。但是,当我尝试使用initWithContentsOfURL:手动初始化它们时,它们是零 我在两个项目中分享它们。此加载代码也位于项目中共享的一个文件中。在第一个项目中,一切正常,但第二个项目给我带来了问题 NSMutableArray *models = [NSMutableArray array]; NSString *path = [[NSBundle mainBundle] pathForResource:@"MyM

我可以用mergedModelFromBundles加载我的模型:很好。但是,当我尝试使用initWithContentsOfURL:手动初始化它们时,它们是零

我在两个项目中分享它们。此加载代码也位于项目中共享的一个文件中。在第一个项目中,一切正常,但第二个项目给我带来了问题

NSMutableArray *models = [NSMutableArray array];
NSString *path = [[NSBundle mainBundle] pathForResource:@"MyModel" ofType:@"momd"];
if(![[NSFileManager defaultManager] fileExistsAtPath:path]){
    NSLog(@"Compiled MyModel.momd file not found.");//never gets called, file is there
}
NSManagedObjectModel *model = [[NSManagedObjectModel alloc] initWithContentsOfURL: [NSURL URLWithString:path] ];
if(!model){
    //this is getting called which indicates there is something wrong with the coredata file...?
    NSLog(@"Could not load compiled MyModel.momd file.");
}else{
    [models addObject:toolKitModel];
}

//works in project 1 where initWithContentsOfURL: returns nil but not in project 2
_managedObjectModel = [NSManagedObjectModel mergedModelFromBundles: NULL ];

//works in project 2 where initWithContentsOfURL: returns the NSManagedObjectModel but not in project 1
_managedObjectModel = [NSManagedObjectModel modelByMergingModels:models ];the models
你知道为什么NSManagedObjectModel不会使用initWithContentsOfURL:和modelByMergingModels:加载吗


MyModel是一个版本化模型(如momd扩展所示)。您是否设置了当前版本?是的,它标记为1。您是否检查了当前版本是否被复制到MyModel.momd文件夹?结果表明,我查看的版本字段不正确。此外,项目中还有2个核心数据文件(xcdatamodeld)。如果单击其中一个,它将显示正确的版本,然后单击另一个,仍然是正确的版本,然后单击返回到第一个,它将显示“无效值”。如果你回答而不是评论,我可以相信你。