• 3.1. 修改托管对象模型(Core Data 应用程序实践指南)


      托管对象模型是会变好的,有时候变化的比较小,什么添加验证规则、修改默认值、修改获取请求模板等。但是设置到结构变化,如添加、删除字段时,需要先把持久化数据区迁移到新的模型版本才行。假如没有提供迁移数据所需的映射与设定,那么应用程序就会崩溃。

      程序修改,以引发模型不兼容错误

    • 运行程序,确保创建了持久化存储区
    • 选中Model.xcdatamodeld
    • 添加Measurement新实体
    • 添加abc属性,类型为String
    • 重新运行程序,发现错误

      reason=The model used to open the store is incompatible with the one used to create the store

    • 如果没有错误,Product > Clean ,然后重复上面步骤

      对于上面错误,开发者可以Clean之后重新安装,用户可以卸载重新安装。即使用户愿意这么做,他的数据也回丢失。显然,这是不科学的。有好几种方法迁移现有的数据化持久区,而迁移路径则是由变更的复杂程度以及是否使用iCloud等因素来决定的

      无论采用哪种迁移办法,我们都必须先熟悉 “模型版本控制”(model versioning)

      修改程序:

    • 删除Measurement实体
    • 重新运行程序,应该就不会崩溃了
  • 相关阅读:
    DOS命令:列出某目录下的所有文本文件名并重定向到某文件
    换掉Tomcat默认图标
    Html中的次方符号怎么写
    MySQL插值语句
    截短字符串的函数(JS中适用)
    使用grep进行文本查找
    使用sed进行文字替换
    Carrer Day有感
    Pinger2
    Pinger
  • 原文地址:https://www.cnblogs.com/SimonGao/p/4936719.html
Copyright © 2020-2023  润新知