[英]Replacing an Objective-C iOS app with a brand new Swift app while keeping values from NSUserDefaults
[英]Copy core data file model from Objective-C app to brand new Swift 3 project
我有一个使用核心数据用Objective-C编写的iOS应用程序的第一个版本。
我现在正在Swift中从头开始重新编写应用程序,因为Objective-C版本非常错误。
目标是在从Objective-C更新到Swift版本之后,将数据库内容保留在应用程序中。 用户不应该丢失数据。
在Swift项目中,我使用了自动生成的.xcdatamodel,并且我完全基于Obj-c .xcdatamodel文件重新创建了所有实体和关系。 Bunddle标识符对于两个版本都是相同的。 在模拟器中,当我运行项目时,一个正在替换另一个。 但每次都会删除数据库。
我找到了几个解释轻量级或重度迁移的主题,但总是与同一项目中的数据模型更改有关。
是否可以将旧的.xcdatamodel文件复制到新项目中? 我试过但没有任何成功。 也许问题是文件的名称不同,项目是用不同的语言编写的。
将模型文件复制到新项目就像复制文件一样简单。
如果您同时打开了两个Xcode项目,则可以将文件从一个项目拖到另一个项目中。 Xcode会询问您想要做什么 - 确保选中“如果需要,复制项目”。 点击“完成”即可完成。
或者在Finder中完成。 复制旧文件,将副本移动到新项目的文件夹中,并在必要时重命名。 然后切换到Xcode并告诉它添加新的模型文件(“文件”菜单 - >“添加文件...”)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.