迁移期间未调用的自定义实体迁移策略(NSEntityMigrationPolicy子类)方法(仅限iOS 5)

时间:2012-01-05 09:46:43

标签: ios core-data core-data-migration

我正在进行自定义迁移,因为轻量级迁移不允许我在迁移时弄乱每个实体(我需要这样做)。但是,我仍在推断一种映射模型。

NSMappingModel *mappingModel = [NSMappingModel inferredMappingModelForSourceModel:sourceModel destinationModel:destinationModel error:&error];

然后,我将自定义迁移策略添加到每个实体映射:

NSArray * newEntityMappings = [NSArray arrayWithArray:mappingModel.entityMappings];

for (NSEntityMapping * entityMapping in newEntityMappings) {
    entityMapping.entityMigrationPolicyClassName = NSStringFromClass([MyCustomEntityMigrationPolicy class]);
}

mappingModel.entityMappings = newEntityMappings;

现在,在iOS 4.0,4.1,4.2和4.3中,这个工作正常,对于每个实体,当调用MyCustomEntityMigrationPolicy的createDestinationInstancesForSourceInstance:entityMapping:manager:error:方法时,我有机会更改其属性值。

但是,在iOS 5.0和5.1中,没有实例化MyCustomEntityMigrationPolicy的实例。

这是iOS 5中的错误还是我做错了什么?

0 个答案:

没有答案