我有一个Core Data迁移,引入了2个新的实体类型。迁移没有问题,但我希望在迁移后向数据库填充默认数据。
目前,我的方法是定义一个自定义NSEntityMigrationPolicy,并覆盖endEntityMapping:manager:error:方法。
目前,我的方法是定义一个自定义NSEntityMigrationPolicy,并覆盖endEntityMapping:manager:error:方法。
- (BOOL)endEntityMapping:(NSEntityMapping *)mapping manager:(NSMigrationManager *)manager error:(NSError **)error {
if (![super endEntityMapping:mapping manager:manager error:error]) return NO;
Theme *defaultTheme = [NSEntityDescription insertNewObjectForEntityForName:@"Theme" inManagedObjectContext:[manager destinationContext]];
[defaultTheme setName:NSLocalizedString(@"Default", @"Default theme name")];
return YES;
}
- 这是一个好方法吗?
- 为什么Theme的-awakeFromInsert不被调用?