核心数据类的无效重新声明
Posted
技术标签:
【中文标题】核心数据类的无效重新声明【英文标题】:core data invalid redeclaration of class 【发布时间】:2017-03-15 20:32:14 【问题描述】:所以,我有个问题……
当我打算创建一个NSManagedObject
子类时。
正如您所见,这个问题确实广泛传播。许多人通过将 codegen 块更改为 Manual/None 来提出解决方案。但这对我没有帮助,而且类定义和类别/扩展也没有解决。
当我删除通过点击 Product/Create NSManagedObject 创建的两个文件时,代码确实有效。我不知道为什么,但我可以使用 NSManObject 类,就像它们躺在某个地方一样,我找到了它们存在的路径。
我想如果我删除它们,我可以再次重新创建子类并成功使用它。但事实并非如此。当我再次创建一个子类文件时,这两个位于未知目录中的文件再次被重新创建!我问遇到这个问题的人,我需要他们的帮助或解决方案
【问题讨论】:
【参考方案1】:核心数据代码生成设置中有一个烦人的错误,这意味着更新的设置没有正确存储。
如果您更改了 codegen 设置,然后是 Build 或 Run,您的更改将不会被保存。例如,如果您从 Category/Extension 更改为 None 并删除了生成的文件,它将重新创建。
为了解决这个问题……
更改您的代码生成设置 保存 .xcdatamodel 文件。 关闭所有项目窗口。 重新打开项目。【讨论】:
【参考方案2】:我测试了不同的 Core Data 数据模型类代码生成设置。当它设置为类定义或类别/扩展时。构建器将自动生成子类文件。所以我们不需要自己添加这些文件。以下是builder生成的文件。
【讨论】:
以上是关于核心数据类的无效重新声明的主要内容,如果未能解决你的问题,请参考以下文章