Swift kann Nicht rufen Sie 'finden,' mit einer Liste von Argumenten des Typs '([Score], Partitur), " wo die Partitur ist ein struct

Während find(["a", "b"], "c") funktioniert ohne Probleme, ich erhalte eine Fehlermeldung, wenn Sie versuchen zu finden, die den index einer Struktur in einem array von Strukturen:

struct Score
{
    //...
}

var scores: [Score] = //...
var score: Score = //...

find(self.scores, score) // Error: Cannot invoke 'find' with an argument list of type '([Score], Score)'

Obwohl ich es könnte ein problem mit Strukturen, die können nicht miteinander verglichen werden standardmäßig. Aber ändern Scores definition class
gibt mir den gleichen Fehler.

  • Sie haben bereits den Grund dafür gefunden. Score implementieren muss Equatable protocol (egal ob struct oder Klasse).
  • Wahrscheinlich das gleiche Problem wie hier: stackoverflow.com/questions/27887387/...
InformationsquelleAutor Rivera | 2015-04-18
Schreibe einen Kommentar