【发布时间】:2017-02-23 15:06:04
【问题描述】:
这是我的问题。
我有一个“allPlayers”数组实体。
我在“team”和“allPlayers”实体之间有“players”关系。
我想要一份尚未加入该球队的所有球员的名单。
所以:
func availablePlayer(_ team:Entity) -> [Entity] {
let playersTeam = players.filter { $0.subject == team }.flatMap { [$0.object] }
let playersAvailable = allPlayers.filter { !playersTeam.contains($0) }
return playersAvailable
}
在给定球队的球员关系中,将存储所有球员。 然后,我想过滤不包含 playerTeam 的 allPlayers 数组。
但是!playersTeam.contains($0) 给了我一个错误。
实体没有“包含”方法。
它只有“包含(where:)”
有什么想法吗?
【问题讨论】:
-
您想让您的实体模型符合所需的协议。 Here 我有一个例子(问题是关于 indexOf 但实际上与您的问题相同)。如果你不喜欢这个例子,当然还有很多其他的。 ;) // 或者你可以在
contains(where:)中使用闭包,这也可以。
标签: ios xcode graph swift3 cosmicmind