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
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
Grazie. Non puoi anche pedici o ottenere il primo e l'ultimo indice di NSArray o NSDictionary? – Honey