Sie können eine Array-Repräsentation der Menge über die %code% -Eigenschaft erhalten - dann können Sie sie auf den richtigen Typ reduzieren und einer Variablen zuweisen:
%Vor%aber natürlich können Sie es auch direkt in der Schleife verwenden:
%Vor%Ich habe diese for-Schleife, %code% ist eine %code% , %code% ist eine %code% -Verbindung, also muss ich %code% auf %code% umwandeln, aber es funktioniert nicht, warum?
%Vor%
In diesem Fall sollte die einfache Lösung von Antonio verwendet werden. Ich würde das gerne noch ein wenig diskutieren. Wenn wir versuchen, eine Instanz von %code% in einer %code% -Schleife aufzuzählen, wird sich der Compiler beschweren:
error: Typ 'NSMutableOrderedSet' entspricht nicht dem Protokoll 'SequenzTyp'
Wenn wir
schreiben %Vor%Der Compiler schreibt es in etwa so um:
%Vor%%code% hat keine %code% -Methode, d. h. es entspricht nicht dem %code% -Protokoll. Das können wir ändern. Zuerst brauchen wir einen Generator:
%Vor%Jetzt können wir diesen Generator verwenden, um %code% konform zu %code% :
zu machen %Vor%%code% kann jetzt in einer %code% Schleife verwendet werden:
%Vor%Wir könnten %code% und %code% (letztere nur für %code% ) weiter implementieren, damit %code% sich wie die Standard-Bibliothekssammlungen von Swift verhält.
Ich bin mir nicht sicher, ob der obige Code den Best Practices entspricht, da ich immer noch versuche, Details zu all diesen Protokollen zu verstehen.