核心数据无效重新声明类

时间:2017-03-15 20:32:15

标签: ios swift core-data

所以,我有一个问题......

enter image description here当我打算创建NSManagedObject子类时。

正如您所看到的,这个问题确实在广泛传播。许多人通过将codegen块更改为Manual / None来提出解决方案。但这对我没有帮助,而且类定义和类别/扩展也没有解决。

当我删除通过点击产品/创建NSManagedObject创建的两个文件时,代码确实有效。我没有为什么,但我可以使用NSManObject类,就像他们躺在某处我发现了它们存在的路径。

enter image description here

我想如果我删除它们,那么我可以再次重新创建子类并成功使用它。但事实并非如此。当我再创建一个子类文件时,这两个位于未知目录中的文件再次被重新创建!我问遇到这个问题的人,我需要他们的帮助或解决方案

2 个答案:

答案 0 :(得分:3)

核心数据代码生成设置中存在恼人的错误,这意味着更新的设置无法正确存储。

如果您更改了codegen设置,然后更改了Build或Run,则不会保存您的更改。例如,如果您从类别/扩展程序更改为并删除了生成的文件,则会重新创建该文件。

解决这个问题...

  • 更改您的codegen设置
  • 保存.xcdatamodel文件。
  • 关闭所有项目窗口。
  • 重新打开项目。

答案 1 :(得分:0)

我测试了不同的Core Data数据模型类codegen设置。当它设置为类定义或类别/扩展时。构建器将自动生成子类文件。所以我们不需要自己添加这些文件。以下是构建器生成的文件。