Core Data会为我创建持久存储文件吗?

don*_*ile 4 iphone core-data

请告诉我:如果我在我的iPhone应用程序中使用Core Data,我基本上有两个文件.mydatamodel.xcdatamodel文件,然后我需要一个.sqlite文件.Apple提供此代码段:

- (NSPersistentStoreCoordinator *)persistentStoreCoordinator {
    if (persistentStoreCoordinator != nil) {
        return persistentStoreCoordinator;
    }

    NSString *appDirPath = [self applicationDocumentsDirectory];
    NSString *storeFileName = @"mystore.sqlite";
    NSURL *storeUrl = [NSURL fileURLWithPath:[appDirPath stringByAppendingPathComponent:storeFileName]];

    NSError *error = nil;
    persistentStoreCoordinator = [[NSPersistentStoreCoordinator alloc] initWithManagedObjectModel:[self managedObjectModel]];

    if (![persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeUrl options:nil error:&error]) {
        NSLog(@"Error: %@, %@", error, [error userInfo]);
        abort();
    }

    return persistentStoreCoordinator;
}
Run Code Online (Sandbox Code Playgroud)

如果文件不可用,是否会创建该文件?

[persistentStoreCoordinator addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeUrl options:nil error:&error]
Run Code Online (Sandbox Code Playgroud)

我的应用程序不需要初始数据,因为它会在用户启动应用程序时下载它.

Mas*_*aro 7

是的,Core Data将在您的应用程序委托中首次启动应用程序之后创建SQLite数据库.