首页 > 解决方案 > 方法不能声明为 public,因为它的参数使用了内部类型

问题描述

我有一个为实体自动生成的访问器:

//auto-generated code:
extension Entity1{
  @objc(addEntity1toEntity2Object:)
  @NSManaged public func addEntity1toEntity2Object(_ value: Entity2)
  ...
}

我得到一个构建错误:

方法不能声明为 public,因为它的参数使用了内部类型

标签: iosswiftcore-dataswift4

解决方案


我为您找到了解决方案:将实体的默认 Codegen 选项从“类定义”更改为“手动/无”。在再次构建之前,您可能必须清理您的项目。选择实体时,可以在数据模型检查器中找到 Codegen 选项。然后从 Editor->Create NSManagedObject 子类创建 NSManagedObject 子类生成器。

清理项目并构建它。

参考这个答案选项2: https ://forums.raywenderlich.com/t/chapter-2-error-bowtie-is-ambiguous-for-type-lookup-in-this-context/22386/2


推荐阅读