如何使用转换策略迁移核心数据中的关系?

时间:2014-04-10 00:25:47

标签: ios core-data ios7 data-migration

我需要将FTRecord模型分解为两个FTRecordFTEvent模型。因此,我不能仅使用轻量级迁移,而是需要利用完整的映射。

enter image description here

1)首先,我添加了model version 2并相应地调整了架构并添加了新的连接关系 FTRecord one-to-many--> FTEventsFTEvent one-to-one-->FTRecord

enter image description here

2)我添加了一个Mapping类,并指向我的自定义策略类(见下文)。 enter image description here

3)在FTEventTransformationPolicy : NSEntityMigrationPolicy我已经定义了将UUID创建为键的函数。

@interface FTEventTransformationPolicy : NSEntityMigrationPolicy

- (NSString*)createId;

@end

@implementation FTEventTransformationPolicy

-(NSString *)createId
{
    return [[NSUUID UUID] UUIDString];
}

@end

4)前FTRecord的其余属性绑定到FTEvent(我在此处未显示)。现在真正复杂的是

的实施
- (BOOL)createDestinationInstancesForSourceInstance:(NSManagedObject *)sInstance entityMapping:(NSEntityMapping *)mapping manager:

我在这里很丢失。如何为每个FTEvent创建old FTRecord的实例,并将该实例添加到new FTRecord的{​​{1}}?

0 个答案:

没有答案