
Swift Collection Types Nedir? Ne işe yarar?
Uzun bir aradan sonra merhaba arkadaşlar, bugünden itibaren 14 gün boyunca Apple tarafından yayınlanan Swift dokümantasyonunu Türkçe olarak ve daha anlaşılır bir şekilde sizlerle paylaşacağım. Hedefim tüm dokümantasyonu 14 günde bitirebilmek fakat bazı durumlardan dolayı 2-3 günlük gecikmeler olabilir. Bunun için şimdiden özür diliyorum. Gelelim bugün ki konumuza bugün Swift’de Collection Type ‘lar dan bahsedeceğim. Hemen başlayalım…
Swift’ de 3 adet Collection Type vardır . Bunlar ; Array , set ve dictionaries’tir.
Bunlar hakkında genel bilgi vererek başlayalım.
Arrays -> Değişkenler sıralıdır.
Sets -> Sırasız ve benzersiz değerlerden oluşur. (Bir değerden 1’den fazla bulunamaz siz yazsanız bile ekran çıktısında 1 tane görünür.)
Dictionaries -> Sırasızdır. Key-value ilişkisi vardır.
Koleksiyonlara (Collections) yanlışlıkla yanlış veri tipinde değer yüklenemez. Buda collections’lardan aldığımız değerin tipine güvenebileceğimiz anlamına gelir.
Eğer bir array, set veya dictionary oluşturursak ve bunu bir değişkene atarsak collection mutable(değiştirilebilir) olarak oluşturulur. Yani sonradan ekleme, silme veya güncelleme yapılarak üzerinde değişiklik yapılabilir. Fakat bu collection’ı bir sabite atarsak collection immutable(değiştirilemez) olur. Yani sonradan eleman ekleme, silme, boyut değiştirme mümkün olmaz.
1-) Arrays
Array’ler aynı tipte değeri sıralı olarak depolar.Aynı değer birden fazla kez olabilir.
Şimdi boş array tanımlamayı ve devamın da bir kaç tane array metodu görelim.
2-) Sets
Sets, birbirinden farklı aynı tipte veriyi sırasız olarak depolar. (Bir değerden sadece bir tane olabilir. Siz ikincisini yazsanız bile çıktıda 1 tane göreceksiniz.)
Bir değerin sette depolanabilmesi için hashable olması gereklidir.(Hashable : İki değer birbiri ile karşılaştırıldığında birbirine eşitse hash Value’leri de int olarak birbirine eşittir.)
Bütün Swift basic type’ları (string,int,double,bool) default olarak hashable’dır. Ve bunları set value type veya dictionary key type olarak kullanabiliriz.
NOT: Swift standart library de hashable protokolüne uydurularak kendi özel!
tipimizi set value type veya dictionary key types olarak kullanabiliriz. Hashable protokolü geriye hashValue adında bir int değer döndürür. Hash value 'den gelen değerin aynı programın farklı zamanlarında veya farklı programlarda aynı olması gerekmez.
Şimdi set kurulumuna ve metodlarına bakalım .
3-) Dictionaries
Dictionary’ler aynı türdeki key’ler ve aynı türdeki değerler arasındaki ilişkileri sıralamasız olarak saklar.(Keyler unique’dir).
NOT: Dictionary key' leri tıpkı set value type'ları gibi hashable protokolüne uymalıdır. Dictionary iki tip de tanımlanır. [Key:Value] veya Dictionary<Key,Value>
Hadi hemen kodlara atlayalım ve nasıl kullanacağımızı görelim.
Evvvet arkadaşlar bugün ki konularımızın sonuna geldik. Umarım okurken zevk alırsınız ve faydası olur soru sormak veya bana tavsiye vermek isterseniz yorum bırakabilir yada linklerden bana ulaşabilirsiniz.Yetişirse eğer yarın akşam ki yazımda görüşmek üzere.
Keyifli kodlamalar 🙂