Ios 核心数据轻量级迁移之上的东西

Ios 核心数据轻量级迁移之上的东西,ios,core-data,migration,Ios,Core Data,Migration,我在模型5中有一个唱片集实体,在模型6中,我添加了一个默认值为0的“FavoriteTrackScont”属性,因此在这种情况下,我应该使用轻量级迁移。但有一个问题。 所以在模型5和模型6中都有一个带有BOOL属性“favorite”的轨迹实体。 因此,当轻量级迁移完成后,我想为FavoriteTrackScont设置一个适当的值。这对于应用程序的正确运行至关重要,所以在任何人都可以使用persistentStoreCoordinator之前,必须先完成这项工作。 因此,我可以检测是否需要迁移:

我在模型5中有一个唱片集实体,在模型6中,我添加了一个默认值为0的“FavoriteTrackScont”属性,因此在这种情况下,我应该使用轻量级迁移。但有一个问题。 所以在模型5和模型6中都有一个带有BOOL属性“favorite”的轨迹实体。 因此,当轻量级迁移完成后,我想为FavoriteTrackScont设置一个适当的值。这对于应用程序的正确运行至关重要,所以在任何人都可以使用persistentStoreCoordinator之前,必须先完成这项工作。 因此,我可以检测是否需要迁移:

NSDictionary *sourceMetadata = [NSPersistentStoreCoordinator metadataForPersistentStoreOfType:NSSQLiteStoreType URL:storeURL error:&error];
    NSManagedObjectModel *destinationModel = [_persistentStoreCoordinator managedObjectModel];
    BOOL pscCompatibile = [destinationModel isConfiguration:nil compatibleWithStoreMetadata:sourceMetadata];
    NSLog(@"Migration needed? %d", !pscCompatibile);
甚至知道如何检测添加/删除了哪些实体

但我如何才能找出哪些属性被添加到现有实体中?(这很重要,因为它可能是从版本4到版本5的迁移)

所以我想做的是让它执行轻量级迁移,确保它已迁移到model 6,并对每个相册执行fetchrequest,以找出它有多少首喜爱的曲目,并将此数字保存到FavoriteTrackScont。 第二个问题是,这是我选择的正确方法,还是在我的情况下使用手动迁移更好? 谢谢