İOS Swift

Swift Enumeration

Enumaration, birbiri ile bağlantılı değerler için ortak bir tip oluşturur ve bu tipi kullanmanızı sağlar. C dilinde enumların int değerlerine atandığını biliyoruz ancak Swift programlama dilinde, enumlar daha esnek bir şekilde karşımıza çıkıyor.

Enumaration Syntax’ı

Örnek Kullanım

enum tanımlarken tek satırda virgülleri kullanarak ta tanımlama yapabiliyoruz.

Enumları Değişkelere Atama

enumları değişkenlere atarken enumadı.değeri şeklinde kullanmamız yeterli.

Switch Case İle Enum İçerisindeki Değerlere Ulaşma

Switch case kullanarak enum içerisindeki değerlere ulaşabiliriz. Bunu yapmak için enum içerisindeki her bir case’i, switch case’in her bir case’i olarak düşünebiliriz.

İlişkili(Associated) Değerler

Swift programlama dili, enum değerlerini özel tiplerde veriler tutmak için de kullanmamıza izin veriyor.

Örnek olarak 1D barkod formatını ele alabiliriz. Her bir barkod numara sistemi basamağı ile başlar, bunu 5 basamaklı üretici kodu takip eder, bunu da 5 basamaklı ürün kodu takip eder ve en sonunda da kontrol basamağı bulunur.

1D Barkod

QR formatlı 2D barkodlar iseISO 8859-1 formatında karakter kullanırlar ve 2953’e kadar string karakter saklayabilirler.

QR Kod5

Şimdi ise yukarıda gösterdiğimiz barkodlar için enum tanımlayalım…

Ve değişkene atayalım..

Farkettiğiniz gibi değişkendeki barkod değeri hem int, hem de string oldu. Yani enum’larda hem string hemde int değerleri aynı anda tutabildik.

Burada önemli olan bir nokta var ! int yada String değerlerinden aynı anda sadece 1 tanesi tutulabilir.

Sıralama

Sıralama mantığını aşağıdaki örnek üzerinden kolayca anlayabilirsiniz.

Türk Telekom Şirketinde CRM Çözümlerinde Teknik Analist olarak görev yapmaktayım. Geçmişte ise iOS uygulama geliştirici olarak çalıştım. Bilginin ve paylaşmanın gücüne can-ı gönülden inanırım..
  • Pingback: Swift Programlama Dili()

  • Burhan Aksendir

    Teşekkürler. Çok açıklayıcı ve anlaşılır. Swift ile hazırlayacağımız uygulamalar sadece ios8’de mi çalışır ? Ya da şöyle sorayım: ios’un hangi sürümünden itibaren destekler ?