2015-06-01 7 views

Antwort

46

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

+0

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

+0

Danke. Können Sie nicht auch den ersten und letzten Index von NSArray oder NSDictionary subskribieren oder abrufen? – Honey

Verwandte Themen