swift";“多对多关系中的重复链接”;是真的吗?

swift";“多对多关系中的重复链接”;是真的吗?,swift,core-data,many-to-many,nsset,nscountedset,Swift,Core Data,Many To Many,Nsset,Nscountedset,我的核心数据模型中有多对多关系,我需要在我的链接容器中添加一些重复链接,我知道链接容器的类型是NSSet@NSManaged public var linkContainer:NSSet?我可以将此类型更改为我的链接数组吗?当我将类型更改为@NSManaged public var linkContainer:Array?时,我出现了此错误 to-many关系的值类型不可接受:property=“linkContainer”… 在这个容器中添加重复链接是真的吗?或者我可以在NSSet中添加一些已

我的核心数据模型中有多对多关系,我需要在我的链接容器中添加一些重复链接,我知道链接容器的类型是NSSet
@NSManaged public var linkContainer:NSSet?
我可以将此类型更改为我的链接数组吗?当我将类型更改为
@NSManaged public var linkContainer:Array?
时,我出现了此错误
to-many关系的值类型不可接受:property=“linkContainer”…
在这个容器中添加重复链接是真的吗?或者我可以在NSSet中添加一些已使用链接的计数吗? 我还尝试了
NSCountedSet
,但没有任何效果

@NSManaged public var linkContainer:NSCountedSet?

public func addTo(link: link) {
    self.linkContainer?.add(link)
}

然后通过
linkContainer.count调用(for:link)

是-关系是集合,而不是数组。这是对核心数据的“限制”。你应该把它看作是你对这个问题想错了的一种迹象

在应用程序上下文中,一个对象多次与另一个对象建立关系意味着什么?将该状态表示为一个单独的实体,或者以不同的方式对数据建模,这有意义吗?如果没有关于您试图建模的系统的特定信息,就很难给出指导

例如:如果您有一个包含客户产品的模型,该关系表示客户订购了产品。但是,当您意识到客户可以多次订购产品时,您可以将您的型号更改为customer>order