2015-06-01 12 views

risposta

46

GeneratorType (IteratorProtocol in Swift 3):Generators è qualcosa che può dare l'elemento next di qualche sequenza, se non v'è alcun elemento che ritorna nil. Generators incapsula lo stato di iterazione e le interfacce per l'iterazione su una sequenza.

Un generatore funziona fornendo un unico metodo, ovvero - next(), che restituisce semplicemente il valore successivo dal sottostante sequence.

seguenti classi Adottare GeneratorType Protocollo:

DictionaryGenerator, EmptyGenerator, più here.


SequenceType (Sequence in Swift 3): Un Sequence rappresentano una serie di valori. Sequence è un tipo che può essere iterato con un ciclo for...in.

Essenzialmente una sequenza è una fabbrica di generatori; qualcosa che sappia fare generatori per una sequenza.

seguenti classi Adottare SequenceType Protocollo:

NSArray, NSDictionary, NSSet e more.


CollectionType (Collection in Swift 3):Collection è un SequenceType cui si può accedere mediante pedice e definisce un startIndex e endIndex. Collection è un passo oltre una sequenza; i singoli elementi di una raccolta sono accessibili più volte.

CollectionType eredita da SequenceType

seguenti classi Adottare CollectionType Protocollo:

Array, Dictionary, Set, Range e more.


Modulo ulteriori informazioni è possibile vedere this, this, e this

+0

favore correggetemi se sbaglio.** 1) ** 'Array',' Dictionary' e 'Set' sono tutti conformi a' collectionType' (che a sua volta implementa SequenceType (che ha una funzione chiamata 'next' che restituisce qualcosa che implementa' GeneratorType'))? ** 2) ** Puoi aggiornare la tua risposta includendo alcuni tipi di Swift Foundation conformi a ciascuno dei 3 protocolli citati? – Honey

+0

Grazie. Non puoi anche pedici o ottenere il primo e l'ultimo indice di NSArray o NSDictionary? – Honey

Problemi correlati