nsorderedset

___ tag123ios ___ iOS ist das mobile Betriebssystem, das auf dem Apple iPhone, iPod touch und iPad ausgeführt wird. Verwenden Sie dieses Tag [ios] für Fragen zur Programmierung auf der iOS-Plattform. Verwenden Sie die verwandten Tags [objective-c] und [swift] für Probleme, die für diese Programmiersprachen spezifisch sind. ___ tag123generics ___ Generika sind eine Form von parametrischer Polymorphie, die in einer Reihe von Sprachen gefunden wird, einschließlich .NET-Sprachen, Java und Swift. ___ answer27076882 ___

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%     
___ tag123swift ___ Swift ist eine universelle Open-Source-Programmiersprache, die von Apple Inc. für ihre Plattformen und Linux entwickelt wurde. Verwenden Sie das Tag nur für Fragen zu Sprachfunktionen oder für Code in Swift. Verwenden Sie die Tags [ios], [osx], [watch-os], [tvos], [cocoa-touch] und [cocoa] für (sprachunabhängige) Fragen zu den Plattformen oder Frameworks. ___ tag123nsordedset ___ NSOrderedSet deklariert die programmatische Schnittstelle für statische Mengen von unterschiedlichen Objekten. ___ qstnhdr ___ Wie kann NSMutableOrderedSet in ein generisches Array konvertiert werden? ___ qstntxt ___

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%

    
___ answer27077560 ___

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.

    
___
2
Antworten

Swift 2.0 Eins-zu-viele Beziehung - noch NSOrderedSet?

In Swift 2.0 sind One-to-Many-Beziehungen in Core Data noch NSOrderedSets? Ich kann anscheinend nicht in der Lage sein, richtig zu wirken, um keine Fehler zu verursachen. Hat jemand in Swift 2.0 ein einfaches Beispiel dafür?     
21.08.2015, 01:38
2
Antworten

Coredata und NSOrderedSet - wie ist die Reihenfolge der Menge definiert?

Ich habe die vorhandene Dokumentation durchgesehen und konnte nichts finden, was das Verhalten bestätigt, das ich sehe. Ab iOS 5 können CoreData-Beziehungen geordnet werden. In diesem Fall ist das zurückgegebene Objekt ein NSOrderedSet. Ka...
29.02.2012, 10:47
2
Antworten

Wie kann NSMutableOrderedSet in ein generisches Array konvertiert werden?

Ich habe diese for-Schleife, p ist eine NSManagedObject , fathers ist eine to-many -Verbindung, also muss ich NSMutableOrderedSet auf [Family] umwandeln, aber es funktioniert nicht, warum? %Vor%     
22.11.2014, 11:21