我的默认数据模型有一个属性(sectionNumber),我从实体中删除了(提示)。此实体在先前的数据模型中不存在。
重新创建映射模型后,我收到此错误(仅当我测试迁移时):
'NSInvalidArgumentException', reason: 'keypath sectionNumber not found in entity <NSSQLEntity Tip id=3>
我已经在项目的各处搜索了sectionNumber但是还没找到它......有谁知道我应该在哪里看?
答案 0 :(得分:0)
每次更改模型时,它都是概念发布的一部分。在此概念版本的开头,您对模型进行版本控制,然后进行一组模型更改并创建关联的迁移计划(自动或映射模型)。部署此概念版本时,迁移将在模型版本之间起作用。
如果在部署之后对模型进行了更改并且没有启动新的概念版本 - 因此您不对模型进行版本化 - 核心数据将看到当前模型已更改但不知道如何。它无法从此恢复,默认操作是second_button_"get_the_id"
。
您需要回滚巡视更改并对模型进行版本控制。或者,您接受您正处于概念发布的中间(如果可能)并在重新安装之前删除应用程序......
答案 1 :(得分:0)
您可以通过以下步骤解决此问题..:
完成核心数据模型的更改后,将其保存。
appdelegate代码中.sqllite核心数据文件的第一个打印路径。
复制路径并打开查找器。
按Ctrl + G并粘贴该路径。去并删除.sqlite文件。
现在转到派生数据文件夹路径并删除该文件夹中的所有内容。
现在按alt并在产品菜单上选择clean build folder选项。
现在运行您的代码并享受..