核心数据类的无效重新声明

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生成的文件。

【讨论】:

以上是关于核心数据类的无效重新声明的主要内容,如果未能解决你的问题,请参考以下文章

类型别名的无效重新声明

如何避免swift 3中的错误无效重新声明? [复制]

如何重新声明核心模型属性类型而不在 Hybris 中扩展它

Android:错误包括/重新打包引用 javax 核心类的依赖项

「测试开发全栈-重新拾起Java核心基础」类的注意事项

问题sql数据库报无效的数据证书,需重新安装