iOS   发布时间:2022-03-30  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了ios – 核心数据实体新属性 – 是需要的新模型版本大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个非常简单的问题,涉及轻量级迁移和Core Data版本控制的使用.

众所周知,在修改核心数据模型时,需要确保从旧模型到新模型的转换.

对于简单的更改(例如添加属性),只需要轻量级迁移.网上有很多信息表明要确保一切正常,需要:

>创建新的模型版本
>进行必要的修改
>将修改后的版本指定为新的当前版本
>通过以下选项支持轻量级迁移:

let options = [NSMigratePersistentStoresAutomaticallyOption:true,NSInferMappingModelAutomaticallyOption:true]

这种方法绝对有效.但是,我还发现,对于简单的更改,不需要新的模型版本.在我的一个应用程序中,我已经发布了一些更新,其中包括对Core Data模型的更改(所有这些都包含新属性添加),并且成功应用了轻量级迁移,而没有任何新的模型版本.

根据我的经验,似乎当修改Core Data版本时,它会被分配一种新的标识符.然后,当在具有此型号旧版本的手机上启动此版本时,将执行轻量级迁移,而不会出现任何简单更改问题.

但是,鉴于每个教程都建议创建一个新的模型版本,有人可以告诉我,如果我错过了一些情况,我的方法会导致崩溃吗?

解决方法

Hmn ……我想你错过了一件事.如果“新属性”是必填字段,则必须为该必填字段指定认值.

注意:如果您错过了设置该非可选属性认值,那么该属性将由nil值指定,最终导致崩溃.

大佬总结

以上是大佬教程为你收集整理的ios – 核心数据实体新属性 – 是需要的新模型版本全部内容,希望文章能够帮你解决ios – 核心数据实体新属性 – 是需要的新模型版本所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。