zoukankan      html  css  js  c++  java
  • 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实体
    • 重新运行程序,应该就不会崩溃了
  • 相关阅读:
    模拟电梯运行
    用户需求调研报告
    NABC需求分析
    大道至简---读书随笔3
    二维环形数组求最大子数组和
    结对开发之求最大数组溢出问题
    结对开发之环形数组
    结对开发之电梯调度
    我看“微软拼音”
    团队开发项目之典型用户和用户场景
  • 原文地址:https://www.cnblogs.com/SimonGao/p/4936719.html
Copyright © 2011-2022 走看看