【问题标题】:What could cause NSMigrationManager to return a nil error?什么可能导致 NSMigrationManager 返回 nil 错误?
【发布时间】:2011-07-08 18:24:18
【问题描述】:

我有这个代码:

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。这是什么原因造成的?

【问题讨论】:

    标签: cocoa core-data foundation


    【解决方案1】:

    如果您的自定义迁移策略返回 NO 而未设置 error 指针,则会导致此问题。例如

    - (BOOL)createDestinationInstancesForSourceInstance:(NSManagedObject *)sInstance entityMapping:(NSEntityMapping *)mapping manager:(SVMigrationManager *)manager error:(NSError **)error;
    {
        return NO;
    }
    

    仔细检查代码,找出可能发生这种情况的任何情况。

    【讨论】:

      猜你喜欢
      • 2019-01-05
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-06-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多