使用数据预先填充应用程序的最快方法是什么?

时间:2013-06-04 04:44:08

标签: ios datastore

我正在创建一个预先存储了大量信息的应用。

最好使用plist来存储数据,还是使用SQLite存储Core Data?预先填充应用程序中数据的最快方法是什么?

为了让您了解我将要使用的数据类型,您可以考虑存储电影信息。我实际上并不是要存储电影,但我存储的数据结构可能类似:一部电影可以有多个演员,一个演员可以在多部电影中播放。基本上,我的数据中有很多关系。

1 个答案:

答案 0 :(得分:0)

如果您希望能够从一个完整的数据库开始,最快的方法是创建一个持久存储文件,其中已包含所有数据并将其添加到您的应用程序包中。当应用程序第一次启动时,您可以在设置NSPersistentStoreCoordinator之前将文件从包中复制到文档目录并开始使用它:

NSFileManager *fileManager = [NSFileManager defaultManager];
NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent:@"database.sqlite"];
if(![fileManager fileExistsAtPath:[storeURL path]]) {
  NSURL *template = [NSURL fileURLWithPath:[NSBundle pathForResource:@"start-database" ofType:@"sqlite" inDirectory:nil]];
  [fileManager copyItemAtURL: toURL:storeUrl error:nil];
}

之后,通过设置NSPersistentStoreCoordinator

继续正常

您可以通过自己运行应用程序预先填充数据库,添加所有项目,保存上下文,然后退出应用程序。之后,复制创建的sqlite数据库文件并添加到您的应用程序的资源。