Lütfen arasındaki farkı açıkla
SequenceType,
GeneratorType ve
CollectionType Swift programlama dilinde.
Ayrıca, kendi veri yapmamı gerçekleştirirsem kullanmanın avantajı ne olurdu?
SequenceType,
GeneratorType veya
CollectionType protokoller?
GeneratorType (Swift 3'te IteratorProtocol):
Generators verebilecek bir şey
next geri döndüğü hiçbir öğe yoksa, bazı dizinin öğesi
nil.
Generators bir dizi üzerinde yineleme durumu ve yineleme için arayüzleri kaplar.
Bir jeneratör, yani tek bir yöntem sağlayarak çalışır -
next()basitçe altta yatan değerden bir sonraki değeri döndürür
sequence.
Aşağıdaki sınıfları GeneratorType Protokolü Kabul Edin:
DictionaryGenerator, EmptyGenerator, Daha İşte.
SequenceType (Swift 3'te Sıra): bir
Sequence bir dizi değeri temsil eder.
Sequence bir ile yinelenen bir türüdür
for...in döngü.
Esasen bir dizi bir jeneratör fabrikasıdır; Bir dizi için jeneratörler nasıl yapılacağını bilen bir şey.
Aşağıdaki sınıflar SequenceType Protokolü:
NSArray, NSDictionary, NSSet ve Daha.
CollectionType (Swift 3 koleksiyonunda):
Collection bir
SequenceType bu, altyazı yoluyla erişilebilir ve bir
startIndex ve
endIndex.
Collection bir dizinin ötesinde bir adımdır; Bir koleksiyonun bireysel unsurlarına birden çok kez erişilebilir.
CollectionType dan miras
SequenceType
Aşağıdaki sınıflar CollectionType Protokolü'nü Kabul Et:
Dizi, Sözlük, Set, menzil ve Daha.
Görebileceğiniz daha fazla bilgi formu bu, bu, ve bu