我有这段代码:
NSError *error; // NSMigrationManager hates it if you don't provide an error pointer
BOOL result = [manager migrateStoreFromURL:sStoreURL
type:NSSQLiteStoreType
options:nil
withMappingModel:mappingModel
toDestinationURL:dStoreURL
destinationType:NSBinaryStoreType
destinationOptions:nil
error:&error];
令我惊讶的是,它有时返回NO并将error
指针保留为nil。是什么导致这种情况?
答案 0 :(得分:2)
如果您的自定义迁移策略在未设置NO
指针的情况下返回error
,则会导致此问题。 e.g。
- (BOOL)createDestinationInstancesForSourceInstance:(NSManagedObject *)sInstance entityMapping:(NSEntityMapping *)mapping manager:(SVMigrationManager *)manager error:(NSError **)error;
{
return NO;
}
仔细检查代码,找出可能发生这种情况的任何情况。