OGeek|极客世界-中国程序员成长平台

标题: iphone - 更好的 csv 或 sqlite 将数据预加载到核心数据中吗? [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 15:44
标题: iphone - 更好的 csv 或 sqlite 将数据预加载到核心数据中吗?

自从有人第一次启动应用程序以来,我必须将数据预加载到我的核心数据中,以使我的实体始终充满数据。我在 csv 和其他 sqlite 中有一个数据库。哪个是最好的?我该怎么做?我的意思是,我想我应该将我的数据库始终放在我的应用程序的文件夹中,当我第一次启动应用程序时,我会将数据填充到数据库中。不是吗?还是我错了?如果这是好方法?我怎么做?



Best Answer-推荐答案


我会推荐一个已经映射的 CoreData 存储。无论它之前是由您的应用还是由 Core Data Editor 等编辑器映射的。

在应用委托(delegate)中,您可以预加载数据。在 - (NSPersistentStoreCoordinator *)persistentStoreCoordinator.

您可以删除当前商店:

NSError *error = nil;
NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent"CoreDataStore.sqlite"];
[[NSFileManager defaultManager] removeItemAtPath:storeURL.path error:&error];

如果还没有商店,您可以将预加载的商店移动到位:

NSURL *storeURL = [[self applicationDocumentsDirectory] URLByAppendingPathComponent"CoreDataStore.sqlite"];
if (![[NSFileManager defaultManager] fileExistsAtPath:[storeURL path]]) {
    NSURL *preloadURL = [NSURL fileURLWithPath:[[NSBundle mainBundle] pathForResource"reloadData" ofType"sqlite"]];
    NSError* err = nil;

    if (![[NSFileManager defaultManager] copyItemAtURL:preloadURL toURL:storeURL error:&err]) {
        NSLog(@"Oops, couldn't copy preloaded data");
    }
}

关于iphone - 更好的 csv 或 sqlite 将数据预加载到核心数据中吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19438824/






欢迎光临 OGeek|极客世界-中国程序员成长平台 (http://ogeek.cn/) Powered by Discuz! X3.4