swift "Duplicate links in many to many relationship" 是真的吗?
swift "Duplicate links in many to many relationship" it is real?
我的核心数据模型中有多对多关系,我需要在我的 links 容器中添加一些重复的 links,我知道 link 的类型容器是 NSSet @NSManaged public var linkContainer: NSSet?
我可以将此类型更改为我的 link 的数组吗?当我将类型更改为 @NSManaged public var linkContainer: Array<Link>?
时出现此错误
Unacceptable type of value for to-many relationship: property = "linkContainer"...
在这个容器中添加重复的 link 是真的吗?或者我可以在 NSSet 中添加一些使用过的 links 吗?
我也试过 NSCountedSet
但没有任何效果
@NSManaged public var linkContainer: NSCountedSet?
public func addTo(link: link) {
self.linkContainer?.add(link)
}
然后通过linkContainer.count(for: link)
调用
是的,这是真实的 - 关系是集合,而不是数组。它是 core-data 的 'limitation'。你应该把它当作你对问题的思考错误的标志。
在您的应用上下文中,一个对象与另一个对象有多次关系意味着什么?将该状态表示为单独的实体或以不同方式对数据建模是否有意义?如果没有关于您尝试建模的系统的特定信息,很难提供指导。
例如:如果您有一个包含客户 <<->> 产品的模型,其中该关系表示客户订购了产品。但是随后您意识到客户可以多次订购产品,您可以将模型更改为 Customer <->> Order <<--> Product 这将更准确地反映您尝试建模的情况。
我的核心数据模型中有多对多关系,我需要在我的 links 容器中添加一些重复的 links,我知道 link 的类型容器是 NSSet @NSManaged public var linkContainer: NSSet?
我可以将此类型更改为我的 link 的数组吗?当我将类型更改为 @NSManaged public var linkContainer: Array<Link>?
时出现此错误
Unacceptable type of value for to-many relationship: property = "linkContainer"...
在这个容器中添加重复的 link 是真的吗?或者我可以在 NSSet 中添加一些使用过的 links 吗?
我也试过 NSCountedSet
但没有任何效果
@NSManaged public var linkContainer: NSCountedSet?
public func addTo(link: link) {
self.linkContainer?.add(link)
}
然后通过linkContainer.count(for: link)
是的,这是真实的 - 关系是集合,而不是数组。它是 core-data 的 'limitation'。你应该把它当作你对问题的思考错误的标志。
在您的应用上下文中,一个对象与另一个对象有多次关系意味着什么?将该状态表示为单独的实体或以不同方式对数据建模是否有意义?如果没有关于您尝试建模的系统的特定信息,很难提供指导。
例如:如果您有一个包含客户 <<->> 产品的模型,其中该关系表示客户订购了产品。但是随后您意识到客户可以多次订购产品,您可以将模型更改为 Customer <->> Order <<--> Product 这将更准确地反映您尝试建模的情况。