Ios 如何使用TransformationPolicy迁移CoreData中的关系?
我需要将我的Ios 如何使用TransformationPolicy迁移CoreData中的关系?,ios,core-data,ios7,data-migration,Ios,Core Data,Ios7,Data Migration,我需要将我的FTRecord模型分解为两个FTRecord和FTEvent模型。因此,我不能只使用轻量级迁移,而需要使用成熟的映射 1) 首先,我添加了一个模型版本2,并相应地调整了模式,添加了一个新的连接关系。 FTRecord one-to-many-->FTEvent和FTEvent one-to-one-->FTRecord 2) 我添加了一个映射类,并将其指向我的自定义策略类(见下文)。 3) 在FTEventTransformationPolicy:NSEntityMigrati
FTRecord
模型分解为两个FTRecord
和FTEvent
模型。因此,我不能只使用轻量级迁移,而需要使用成熟的映射
1) 首先,我添加了一个模型版本2
,并相应地调整了模式,添加了一个新的连接关系。FTRecord one-to-many-->FTEvent
和FTEvent one-to-one-->FTRecord
2) 我添加了一个映射类,并将其指向我的自定义策略类(见下文)。
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:
我在这里迷路了。如何为每个旧FTRecord
创建FTEvent
的实例,并将该实例添加到新FTRecord
的事件中