我使用RestKit继承了现有iOS应用程序的支持,而且我是RestKit的新手。我过去使用模型版本,映射模型和实体迁移策略执行了几个复杂的核心数据迁移。
现在我想知道在使用RestKit时如何实现这一目标。代码当前的结构方式,有一个调用:
fill
随后致电:
BOOL migrationSucceeded = [RKManagedObjectStore migratePersistentStoreOfType:NSSQLiteStoreType
atURL:storeURL
toModelAtURL:modelURL
error:&error
configuringModelsWithBlock:^(NSManagedObjectModel *model, NSURL *sourceURL) {
CLS_LOG(@"Model version %@", [model versionIdentifiers]);
// Examine each model and configure search indexing appropriately based on the versionIdentifiers configured in the model
if ([[model versionIdentifiers] isEqualToSet:[NSSet setWithObject:@"2.0"]]
|| [[model versionIdentifiers] isEqualToSet:[NSSet setWithObject:@"2.1"]]
|| [[model versionIdentifiers] isEqualToSet:[NSSet setWithObject:@"2.2"]]
|| [[model versionIdentifiers] isEqualToSet:[NSSet setWithObject:@"2.3"]]) {
NSEntityDescription *productFamilyEntity = [[model entitiesByName] objectForKey:kEntityNameProductFamily];
[RKSearchIndexer addSearchIndexingToEntity:productFamilyEntity onAttributes:@[@"descEn", @"descFr"]];
}
}];
从我所看到的,核心数据迁移是在NSPersistentStore *persistentStore = [managedObjectStore addSQLitePersistentStoreAtPath:storePath
fromSeedDatabaseAtPath:nil
withConfiguration:nil
options:@{NSMigratePersistentStoresAutomaticallyOption:@YES,
NSInferMappingModelAutomaticallyOption:@YES}
error:&error];
...的调用中执行的,我想推断映射模型而不是使用我创建的映射模型。
稍后调用migratePersistentStoreOfType
时,迁移已经执行。
如何构建代码,以便在迁移期间使用指定addSQLitePersistentStoreAtPath
的自定义映射模型?这可以用RestKit吗?
提前致谢,
菲利普