Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 更新应用程序以使用以前的双SQLite持久存储中的核心数据_Objective C_Ios_Sqlite_Core Data_Core Data Migration - Fatal编程技术网

Objective c 更新应用程序以使用以前的双SQLite持久存储中的核心数据

Objective c 更新应用程序以使用以前的双SQLite持久存储中的核心数据,objective-c,ios,sqlite,core-data,core-data-migration,Objective C,Ios,Sqlite,Core Data,Core Data Migration,我目前正在升级一个较旧的iPhone flashcard应用程序,该应用程序使用两个SQLite数据库(一个带有只读问题,只能通过应用程序更新、删除卡、添加卡、更新卡和另一个用户添加自己的自定义卡进行更新)来替代核心数据。“Flashcard”对象区分只读卡和用户添加卡的唯一属性是“isCustom”属性。以下是我认为需要采取的步骤: (首次从2个SQLite数据库更新为CoreData) 从用户自定义卡数据库获取所有自定义卡条目 使用只读卡添加新的核心数据对象模型,然后 将用户添加的自定义卡加

我目前正在升级一个较旧的iPhone flashcard应用程序,该应用程序使用两个SQLite数据库(一个带有只读问题,只能通过应用程序更新、删除卡、添加卡、更新卡和另一个用户添加自己的自定义卡进行更新)来替代核心数据。“Flashcard”对象区分只读卡和用户添加卡的唯一属性是“isCustom”属性。以下是我认为需要采取的步骤:

(首次从2个SQLite数据库更新为CoreData)

  • 从用户自定义卡数据库获取所有自定义卡条目
  • 使用只读卡添加新的核心数据对象模型,然后 将用户添加的自定义卡加载到此模型
  • 删除旧的SQLite数据库(自定义卡数据库和只读卡数据库 db)
  • (将来的更新已经有了核心数据模型)

  • 从当前核心数据持久存储中获取所有自定义卡
  • 将所有自定义卡迁移到新的核心数据持久存储区

  • 我只是想确定,在我开始从头开始设计这个系统之前,这是否是一条可行的道路。任何提示都将不胜感激。

    您没有理由不保留两个核心数据存储:一个是应用程序附带的内容只读存储,另一个是自定义条目可写存储。我在我的一个应用程序中这样做,它允许我轻松地更新每个版本附带的数据库

    我在不同的上下文中管理两个不同的持久性存储,但是您也可以将多个持久性存储附加到同一个持久性存储协调器,使它们都位于同一上下文中


    请注意,如果对只读核心数据持久存储使用相同的模型,或者将只读数据包含在一个中央持久存储中,则每次更新该模型时,还需要将该非自定义数据迁移到新模型。在应用程序中提供一个单独的只读核心数据存储将允许您一次完成迁移,与其让每个最终用户在模型更新时在字段中进行迁移,不如说您仍然可以维护两个核心数据存储:一个是应用程序附带的内容的只读存储,另一个是自定义条目的可写存储。我在我的一个应用程序中这样做,它允许我轻松地更新每个版本附带的数据库

    我在不同的上下文中管理两个不同的持久性存储,但是您也可以将多个持久性存储附加到同一个持久性存储协调器,使它们都位于同一上下文中


    请注意,如果对只读核心数据持久存储使用相同的模型,或者将只读数据包含在一个中央持久存储中,则每次更新该模型时,还需要将该非自定义数据迁移到新模型。在应用程序中附带一个单独的只读核心数据存储将允许您在您的终端执行一次迁移,而不是让每个最终用户在模型更新时在字段中执行迁移。

    听起来不错。似乎最好的选择是使用不同的上下文管理两个不同的持久存储。我对核心数据相当陌生,在我开始深入研究设计之前,我很感激你的回答。听起来不错。似乎最好的选择是使用不同的上下文管理两个不同的持久存储。我对核心数据相当陌生,在我开始深入研究设计之前,我非常感谢您的回答。