Hier ist mein Problem.Swift 3 Graph: FILTER und enthält für Entities
Ich habe eine "allPlayers" Array Entity.
Ich habe eine "Spieler" Beziehung zwischen einem "Team" und einem "allPlayers" -Entitäten.
Ich möchte eine Liste aller Spieler, die noch nicht in diesem Team sind.
So:
func availablePlayer(_ team:Entity) -> [Entity] {
let playersTeam = players.filter { $0.subject == team }.flatMap { [$0.object] }
let playersAvailable = allPlayers.filter { !playersTeam.contains($0) }
return playersAvailable
}
in playersTeam werden die allPlayers in Spieler Beziehung ein Team gegeben werden gespeichert. Dann möchte ich das allPlayers-Array filtern, das nicht das playersTeam enthält.
aber die !playersTeam.contains($0)
geben Sie mir einen Fehler. Entität hat keine Methode "enthält". Es hat nur "enthält (wo :)"
Irgendeine Idee?
Sie möchten, dass Ihr Entitätsmodell dem erforderlichen Protokoll entspricht. [Hier] (http://Stackoverflow.com/a/32953118/2227743) Ich habe ein Beispiel (die Frage ist über indexOf, aber es ist das gleiche Problem, das Sie tatsächlich haben). Wenn Sie dieses Beispiel nicht mögen, gibt es natürlich viele andere. ;) // * Oder * du könntest eine Schließung in 'contains (wo:)' verwenden, das würde auch funktionieren. – Moritz