NSManagedObject子类中的重复符号错误

彼得

我只是简单地使用Core Data创建了一个演示项目。

Userinfo在数据模型中创建了一个实体现在,我创建了NSManagedObject该实体子类。

Xcode自动生成这4个类。

在此处输入图片说明

现在,当我构建项目时,它将引发此错误:

在此处输入图片说明

我已尽我所能消除了重复性错误,但无济于事。

我认为这是一个Xcode错误。请帮忙。

浅思

您正在生成Xcode已经为您生成的文件,因此会得到重复的声明。可以在此WWDC视频中找到有关此功能的详细信息(Xcode 8中的新增功能)

两种可能的修复:

1)使用Xcode生成的ManagedObject子类(推荐的现代方法)

  • 从项目中删除所有生成的NSManagedObject子类(如果存在)。
  • 设置CodegenClass Definition.xcdatamodel的所有实体
  • 确保Module为空(“ Global Namespace”为浅灰色)(解决Apple bug的方法,请参见此答案

注意:

切勿将自动生成的文件添加到您的项目中。即使您在项目中看不到生成的文件,Xcode也会对其进行引用,因此您可以编写扩展名等。例如:

extension MyEntity {
    func doSomething() {
        //
    }
}

另外,您可以在Xcode中命令+单击以生成文件。

2)手动触发子类生成(一种偏执狂但经过子弹验证的方法,忽略了新的Xcode功能)

  • 从项目中删除所有生成的NSManagedObject子类(如果存在)。
  • 设置CodegenManual/None.xcdatamodel的所有实体
  • 清洁项目
  • 清理DerivedData文件夹
  • 重新启动Xcode
  • 手动生成NSManagedObject子类(在“编辑器”菜单中)
  • 确保将这些文件添加到您的项目中
  • 建立

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章