GeneratorType (IteratorProtocol in Swift 3):Generators
ist etwas, das die next
Element irgendeiner Reihenfolge geben kann, wenn kein Element gibt es nil
zurückgibt. Generators
kapselt den Iterationsstatus und die Schnittstellen für die Iteration über eine Sequenz ein.
Ein Generator arbeitet mit einer einzigen Methode, nämlich - next()
, die einfach den nächsten Wert aus dem zugrunde liegenden sequence
zurückgibt.
Folgende Klassen Adopt GeneratorType Protokoll:
DictionaryGenerator, EmptyGenerator, mehr here.
SequenceType (Sequence in Swift 3): A Sequence
stellen eine Reihe von Werten. Sequence
ist ein Typ, der mit einer for...in
Schleife wiederholt werden kann.
Im Wesentlichen ist eine Sequenz eine Generatorfabrik; etwas, das weiß, wie man Generatoren für eine Sequenz macht.
Folgende Klassen Adopt SequenceType Protokoll:
NSArray, NSDictionary, NSSet und more.
CollectionType (Collection in Swift 3):Collection
ist ein SequenceType
die über Subskript zugegriffen werden kann, und eine startIndex
und endIndex
definiert. Collection
ist ein Schritt über eine Sequenz hinaus; auf einzelne Elemente einer Sammlung kann mehrfach zugegriffen werden.
CollectionType
erbt von SequenceType
Folgende Klassen Adopt Collection Protokoll:
Array, Dictionary, Set, Range und more.
Formular weitere Informationen können Sie sehen this, this und this
Bitte korrigiert mich wenn ich falsch liege.** 1) ** 'Array',' Dictionary' und 'Set' stimmen alle mit' collectionType' überein (der selbst SequenceType implementiert (mit einer Funktion namens 'next', die etwas zurückgibt, das' GeneratorType' implementiert))? ** 2) ** Können Sie Ihre Antwort aktualisieren, um einige Swift Foundation-Typen einzubeziehen, die den drei genannten Protokollen entsprechen? – Honey
Danke. Können Sie nicht auch den ersten und letzten Index von NSArray oder NSDictionary subskribieren oder abrufen? – Honey