【问题标题】:CoreData and preload sqliteCoreData 和预加载 sqlite
【发布时间】:2015-12-22 21:54:03
【问题描述】:

我正在尝试为 coredata 预加载 sqlite。我试过这样的教程,没关系。

http://www.appcoda.com/core-data-preload-sqlite-database/

但是,在某些方面,我有点不清楚。

1) coredata 层是否在 sqlite 之上?或者他们有单独的数据库?

2) 预加载sqlite的方式是什么?就像读取 sqlite 行 1 并保存到核心数据一样吗?或者我们要求核心数据使用 sqlite 文件作为基础数据库?

 if managedObjectContext.save(&error) != true {} //From that example, it read csv file and save to core data..

3)如果它正在读取 sqlite 行 1 一行 1,如果我有数千行,它会很慢。我可以将核心数据指向我的 sqlite 文件吗?

修改

如果我这样写,这是否意味着我指向我现有的 sqlite?

NSURL *applicationDocumentsDirectory = [[[NSFileManager defaultManager] URLsForDirectory:NSDocumentDirectory inDomains:NSUserDomainMask] lastObject];
NSURL *storeURL = [applicationDocumentsDirectory URLByAppendingPathComponent:@"test.sqlite"];

NSError *error = nil;
[self.persistentStoreCoordinator_busservice addPersistentStoreWithType:NSSQLiteStoreType configuration:nil URL:storeURL options:@{NSMigratePersistentStoresAutomaticallyOption:@YES, NSInferMappingModelAutomaticallyOption:@YES} error:&error]

【问题讨论】:

    标签: ios objective-c sqlite core-data


    【解决方案1】:

    1) 核心数据是一个框架,可让您轻松地从数据存储中存储和检索数据。现在数据存储可以是SQLite, xml, binary files or in-memory

    2)您可以逐行读取和写入(我不推荐这样做),第二个是具有与您的核心数据创建的 SQLite 结构相同的 SQLite 结构,并将您的 sqlite 复制到您所在的同一位置core data 查找 sqlite 文件。

    3) 已经回答,是的,您可以将您的 sqlite 文件放置(复制)到您的核心数据查找 sqlite 文件(在 AppDelegate 中定义)的同一位置(文档目录)

    【讨论】:

    • 谢谢。我已经添加了我的代码。这是否意味着我的核心数据现在指向我的 sqlite?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-04-27
    • 2014-10-18
    • 2018-08-12
    • 1970-01-01
    • 2011-05-09
    • 1970-01-01
    • 2020-01-01
    相关资源
    最近更新 更多