Ios NSManagedObject子类中存在重复符号错误

Ios NSManagedObject子类中存在重复符号错误,ios,objective-c,swift,core-data,nsmanagedobject,Ios,Objective C,Swift,Core Data,Nsmanagedobject,我只是用核心数据创建了一个演示项目 我在数据模型中创建了一个实体Userinfo。现在我创建了这个实体的NSManagedObject子类 Xcode自动生成了这4个类 现在,当我构建项目时,它抛出以下错误: 我已经尽了我所知的一切来消除口是心非的错误,但没有任何帮助 我认为这是一个Xcode错误。请帮忙 您正在生成已经由Xcode为您生成的文件,因此会得到重复的声明。有关此功能(在Xcode 8中新增)的详细信息,请参阅 两种可能的修复方法: 1)使用Xcode生成的ManagedObje

我只是用核心数据创建了一个演示项目

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

Xcode自动生成了这4个类

现在,当我构建项目时,它抛出以下错误:

我已经尽了我所知的一切来消除口是心非的错误,但没有任何帮助


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

您正在生成已经由Xcode为您生成的文件,因此会得到重复的声明。有关此功能(在Xcode 8中新增)的详细信息,请参阅

两种可能的修复方法:

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

  • 从项目中删除所有生成的NSManagedObject子类(如果存在)
  • 对于所有实体,在
    .xcdatamodel
    中将
    Codegen
    设置为
    Class Definition
  • 确保
    模块
    为空(“全局名称空间”为浅灰色)(解决Apple bug,请参阅)

  • 清洁工程
  • (可选。位于保存端)
  • 建造
注意:

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

extension MyEntity {
    func doSomething() {
        //
    }
}
此外,您还可以在Xcode中对生成的文件进行command+单击

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

  • 从项目中删除所有生成的NSManagedObject子类(如果存在)
  • 对于所有实体,在
    .xcdatamodel
    中将
    Codegen
    设置为
    Manual/None
  • 清洁工程
  • 重新启动Xcode
  • 手动生成
    NSManagedObject
    子类(在“编辑器”菜单中)
  • 确保这些文件已添加到项目中
  • 建造

您正在生成已经由Xcode为您生成的文件,因此会得到重复的声明。有关此功能(在Xcode 8中新增)的详细信息,请参阅

两种可能的修复方法:

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

  • 从项目中删除所有生成的NSManagedObject子类(如果存在)
  • 对于所有实体,在
    .xcdatamodel
    中将
    Codegen
    设置为
    Class Definition
  • 确保
    模块
    为空(“全局名称空间”为浅灰色)(解决Apple bug,请参阅)

  • 清洁工程
  • (可选。位于保存端)
  • 建造
注意:

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

extension MyEntity {
    func doSomething() {
        //
    }
}
此外,您还可以在Xcode中对生成的文件进行command+单击

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

  • 从项目中删除所有生成的NSManagedObject子类(如果存在)
  • 对于所有实体,在
    .xcdatamodel
    中将
    Codegen
    设置为
    Manual/None
  • 清洁工程
  • 重新启动Xcode
  • 手动生成
    NSManagedObject
    子类(在“编辑器”菜单中)
  • 确保这些文件已添加到项目中
  • 建造

这些文件是在哪里生成的?因为我需要这些类用于我的目的。在派生数据中。不要将它们添加到项目中。如果您按照答案进行操作,它就会工作,Xcode会自动引用它。您还可以编写aso扩展。如果您有问题,请描述您的问题。我会尽力帮忙的。这些文件是在哪里生成的?因为我需要这些类用于我的目的。在派生数据中。不要将它们添加到项目中。如果您按照答案进行操作,它就会工作,Xcode会自动引用它。您还可以编写aso扩展。如果您有问题,请描述您的问题。我会尽力帮忙的。这里有一个对我来说更短更简单的解决方案。这里有一个简短而简单的解决方案。