gpt4 book ai didi

objective-c - 找不到用于迁移的映射模型 - UIManagedDocument 核心数据迁移

转载 作者:可可西里 更新时间:2023-11-01 03:35:56 25 4
gpt4 key购买 nike

我有两个版本的模型 Model001.xcdatamodelModel002.xcdatamodel。这两个位于 Model.xcdatamodeld 包中。我还有一个 Model001to002.xcmappingmodel,它不是 Model.xcdatamodeld 的一部分。我检查过:xcmappingmodel 和 xcdatamodeld 都被复制到 .app 包中。

我的托管对象上下文是这样初始化的:

    NSURL *documentModel = [bundle URLForResource:@"Model" 
withExtension:@"momd"]; managedObjectModel = [[NSManagedObjectModel alloc]
initWithContentsOfURL:documentModel]; return managedObjectModel;

我还在我的 UIManagedObject 子类中的重写 initWithFileURL: 上设置了这些属性。

    NSMutableDictionary *options = [NSMutableDictionary dictionaryWithDictionary:self.persistentStoreOptions];
[options setObject:@YES forKey:NSMigratePersistentStoresAutomaticallyOption];
[options setObject:@YES forKey:NSInferMappingModelAutomaticallyOption];
self.persistentStoreOptions = [options copy];

但是当我尝试打开文档时,出现以下错误:找不到用于迁移的映射模型

-- 更新--

即使我进行手动迁移

     [NSMappingModel mappingModelFromBundles:@[[NSBundle mainBundle]]
forSourceModel:sourceObjectModel
destinationModel:self.managedObjectModel];

这返回零。尽管我仔细检查了 Model001to002.cdm 是否在应用程序包中。它必须在应用程序包中,对吗?

最佳答案

映射模型的一个“陷阱”是,您不能在创建映射后对模型进行任何更改。如果这样做,您也会收到此错误。

关于objective-c - 找不到用于迁移的映射模型 - UIManagedDocument 核心数据迁移,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12782570/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com