核心数据库和应用程序重新安装

时间:2014-02-08 04:07:51

标签: ios core-data

当我们使用xcode重新安装应用程序时,iOS中的核心数据库是否会删除所有现有行?

1 个答案:

答案 0 :(得分:4)

在Xcode中安装应用程序:

  1. 删除旧应用,然后安装:在这种情况下,核心数据数据库将被删除。
  2. 旧应用程序存在时安装:在这种情况下,核心数据将不执行任何操作。
  3. 在大多数情况下,第二个是我们应该照顾的。 如果您更改核心数据中的表格,您应该核心数据要迁移。这就是你需要的:

    NSDictionary *options = @{NSMigratePersistentStoresAutomaticallyOption: @YES, 
                              NSInferMappingModelAutomaticallyOption: @YES};
    NSError *error;
    _persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel: [self managedObjectModel]];
    
    if (![_persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType 
                                                   configuration:nil 
                                                             URL:storeUrl 
                                                         options:options 
                                                          error:&error]) {
        // Handle error
        NSLog(@"Problem with PersistentStoreCoordinator: %@",error);
    }
    

    NSMigratePersistentStoresAutomaticallyOption = YES; 可以解决问题。 我认为你应该总是这样做。