我有一个实体自动生成的访问器:
//auto-generated code:
extension Entity1{
@objc(addEntity1toEntity2Object:)
@NSManaged public func addEntity1toEntity2Object(_ value: Entity2)
...
}
我得到一个构建错误:
由于方法的参数使用内部类型,因此无法将其声明为公共方法
答案 0 :(得分:1)
我为您找到了解决方案: 将实体的默认Codegen选项从“类定义”更改为“手动/无”。您可能必须先清理项目,然后才能再次构建它。选择实体时,可以在数据模型检查器中找到Codegen选项。然后从Editor-> Create NSManagedObject子类创建NSManagedObject子类生成器。
清理项目并进行构建。
答案 1 :(得分:0)
Entity2应该明确声明为 public :
public class Entity2{
...
}
答案 2 :(得分:0)
您正在使用扩展名,为什么要在以下位置使用public:
@NSManaged public func addEntity1toEntity2Object(_ value: Entity2)
答案 3 :(得分:0)
将其更改为私有吗?
@NSManaged private func addEntity1toEntity2Object(_ value: Entity2)