여기 내 문제가 있습니다.스위프트 3 그래프 : 엔티티에 대한 필터 및 포함
"allPlayers"배열 엔터티가 있습니다.
"팀"과 "allPlayers"엔티티 사이에 "선수"관계가 있습니다.
아직이 팀에 속하지 않은 모든 플레이어의 목록을 원합니다.
그래서 : playersTeam에서
func availablePlayer(_ team:Entity) -> [Entity] {
let playersTeam = players.filter { $0.subject == team }.flatMap { [$0.object] }
let playersAvailable = allPlayers.filter { !playersTeam.contains($0) }
return playersAvailable
}
는 팀 주어진 선수 관계에 allPlayers을 저장됩니다. 그러면 playersTeam이 포함되지 않은 allPlayers 배열을 필터링하려고합니다.
그러나 !playersTeam.contains($0)
은 오류입니다. 엔터티에 "contains"메서드가 없습니다. "contains (where :)"
어떤 아이디어가 있습니까?
엔티티 모델이 필요한 프로토콜을 따르도록하고 싶습니다. [Here] (http://stackoverflow.com/a/32953118/2227743) 나는 예제를 가지고있다. (질문은 indexOf에 관한 것이지만, 실제로 당신과 같은 문제이다.) 이 예제가 마음에 들지 않는다면 많은 다른 것들이 있습니다. ;) // * 또는 *'contains (where :)'에 클로저를 사용할 수있다. 이것은 또한 작동 할 것이다. – Moritz