gpt4 book ai didi

iphone - NSEntityMigrationPolicy 子类方法未被调用

转载 作者:行者123 更新时间:2023-12-03 16:29:55 24 4
gpt4 key购买 nike

我正在尝试从一个 .xcdatamodel 文件迁移到另一个。我有一个 NSEntityMigrationPolicy 子类,其名称已在 xcode-> .xcmappingmodel 文件 -> 实体 ->“自定义策略”字段中输入。

我运行我的应用程序,该应用程序成功打开并运行了我的数据的先前版本,因此我只能假设基本迁移已成功。但是,我的 NSEntityMigrationPolicy 子类方法没有被调用,以便我可以运行进一步的迁移代码。

@implementation TestMigrationPolicy

- (BOOL)beginEntityMapping:(NSEntityMapping *)mapping manager:(NSMigrationManager *)manager error:(NSError * *)error
{
NSLog(@"this log is never shown!!!!");
return YES;
}

有人知道为什么我的它可能没有被调用吗?我是核心数据迁移的新手,目前我不知道为什么这没有像我认为的那样表现。

如果有帮助,我正在创建这样的持久存储..

NSDictionary *options = [NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithBool:YES],
NSMigratePersistentStoresAutomaticallyOption,
[NSNumber numberWithBool:YES],
NSInferMappingModelAutomaticallyOption,
nil];


NSError *error = nil;
persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];
NSLog(@"storeUrl %@", storeUrl);

if (![persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeUrl options:options error:&error]) {

最佳答案

我知道这个问题很旧,但这可能对其他人有帮助!

这是因为您设置了选项NSInferMappingModelAutomaticallyOption - 这意味着正在运行轻量级迁移,而不是使用您的映射模型。删除此选项,保留 * NSMigratePersistentStoresAutomaticallyOption* 就位,一切都应该可以工作。

关于iphone - NSEntityMigrationPolicy 子类方法未被调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3651805/

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