Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/110.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
iOS MagicalRecord--事后我可以更改MR/CD设置方案吗?_Ios_Magicalrecord_Core Data Migration - Fatal编程技术网

iOS MagicalRecord--事后我可以更改MR/CD设置方案吗?

iOS MagicalRecord--事后我可以更改MR/CD设置方案吗?,ios,magicalrecord,core-data-migration,Ios,Magicalrecord,Core Data Migration,我有一个通过MagicalRecord使用核心数据的小应用程序,它运行良好,处于初级阶段,这主要要感谢我在这里找到的帮助 现在,我发现我需要在数据模型中的实体上添加一个新属性。后来,我还发现我应该使用MagicalRecord方法“SetupCoreDataStackWithAutoMigratingSqliteStoreName”,而不是简单的Jane“SetupCoreDataStackWithStoreName:” 我知道自动迁移选项将自动处理轻量级迁移(我的第一次) 在我陷入真正的麻烦之

我有一个通过MagicalRecord使用核心数据的小应用程序,它运行良好,处于初级阶段,这主要要感谢我在这里找到的帮助

现在,我发现我需要在数据模型中的实体上添加一个新属性。后来,我还发现我应该使用MagicalRecord方法“SetupCoreDataStackWithAutoMigratingSqliteStoreName”,而不是简单的Jane“SetupCoreDataStackWithStoreName:”

我知道自动迁移选项将自动处理轻量级迁移(我的第一次)

在我陷入真正的麻烦之前,我可以简单地将AppDelegate中的那一行代码从:

[MagicalRecord setupCoreDataStackWithStoreNamed:@"MyDatabase.sqlite"];
致:

对我温和一点——在我所做的所有TUT和研究中,这个问题从来没有被预先解决过,我的意思是,在创建数据模型和决定使用哪个MR选项之前,确保考虑并包括了所有可能的属性。我相信这一点对于一个更有经验的程序员来说是显而易见的,但对我来说不是


谢谢

是的,应该没问题。自动迁移方法所做的只是为堆栈设置设置一些配置选项。初始化的其余部分与基本设置相同


但是,如果您正在开发中使用应用程序,我也建议您删除旧版本的应用程序,然后重新开始。当我快速更新或修改应用程序的核心数据模型时,这通常是我在开发中的工作方式。

非常感谢您的回答和MagicalRecord!这对进入核心数据领域是一个巨大的帮助。如果我可以问,我将如何删除旧版本的商店?有多种选择。最简单的方法是从模拟器/设备中删除应用程序。但是您也可以只删除您的
MyDatabase.sqlite
file.MagicalRecord有一个选项可以自动删除不兼容的存储。看一下标题,看看选项是什么(我不记得头顶上的实际姓名),谢谢@Sandro。我要问一个可能是非常愚蠢的问题:我是否假设太多,以至于认为使用MagicalRecord,我所要做的就是更改上面提到的一行代码?或者我还需要创建一个新模型,并遵循为不使用MagicalRecord的轻量级迁移指定的其他步骤。恕我直言,但我只是尝试添加一个属性,重新创建子类并更改设置方法,如上所述。现在新属性似乎丢失了,我不知道是否正在创建它。再次感谢大家的帮助!对不起,卡萨。在我发表评论之前,我没有看到你的评论。请随时让我回到关于上述困境的轨道上。谢谢
[MagicalRecord setupCoreDataStackWithAutoMigratingSqliteStoreNamed:@"MyDatabase.sqlite"];