加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

objective-c – 使用NSInferMappingModelAutomaticallyOption更

发布时间:2020-12-16 03:44:58 所属栏目:百科 来源:网络整理
导读:我有我的核心数据存储,我使用标志’NSInferMappingModelAutomaticallyOption’,以便每当我更改核心数据模型,我首先创建一个新的模型版本,并且数据模型的更改将自动迁移. 但是,我需要更改一个实体的属性类型.当我这样做,自动迁移似乎不起作用,当我尝试运行我
我有我的核心数据存储,我使用标志’NSInferMappingModelAutomaticallyOption’,以便每当我更改核心数据模型,我首先创建一个新的模型版本,并且数据模型的更改将自动迁移.

但是,我需要更改一个实体的属性类型.当我这样做,自动迁移似乎不起作用,当我尝试运行我的应用程序时,我收到一个核心数据错误.

任何设置这种方式可以继续自动模式迁移?

解决方法

轻量级迁移不支持属性类型更改:

For Core Data to be able to generate an inferred mapping model,changes must fit an obvious migration pattern,for example:

  • Simple addition of a new attribute
  • Removal of an attribute
  • A non-optional attribute becoming optional
  • An optional attribute becoming non-optional,and defining a default value
  • Renaming an entity or property

编辑

我假设您正在使用轻量级迁移.但正如斯科特指出的,也许你不是.如果要使用自动迁移(与轻量级迁移不同),您仍然可以通过提供映射模型来实现.在这种情况下:

Core Data will attempt to locate the source and mapping models in the application bundles,and perform a migration.

但这种迁移不会轻量化.核心数据将打开两个存储 – 源和目标 – 并复制内存中的所有实体.所以应用程序消耗的内存取决于商店中的数据量.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读