Kısa haliyle enum‘lar, birbirleriyle mantıksal olarak alakalı değerleri bir arada gruplamamızı sağlayan yapılardır. Birbiri ile bağlı bu değerlere hem isimleriyle hem de bir index numarası ile erişebilmemiz mümkündür.
Birbiri ile mantıksal olarak alakalı değerlere örnekler
Bu değerleri enum yapısını kullanarak temsil edebiliriz.
enum Gender {
case male
case female
case notSpecified
}
Swift’de bir enum türü tanımlamak yukarıdaki kadar kolaydır ve okunabilirlik en üst düzeydedir. Swift’de Enum’lar, diğer hiçbir programlama dilinde olmadığı kadar güçlüdür ve sıklıkla kullanılır.
Yaratacağınız enum’lara durum eklemek için her durumun başına ‘case’ anahtar kelimesini eklemelisiniz. Case’ler durumları ifade eder. Benim ‘Cinsiyet’ örneğimde 3 farklı durum bulunuyor. Bunlar; erkek, kadın ve belirtilmemiş.
enum Gender {
case male, female, notSpecified
}
Bir enum’ı yukarıdaki👆gibi de tanımlayabilirsiniz. İkisi arasında hiçbir fark yoktur.
RawValue’lar ile enum case’lerinize istediğiniz türden değerler verebilirsiniz. Bu değerlere örnek olarak; Double, Int, Bool, String, vs.
enum Direction: String {
case forward = "İleri Git"
case backward = "Geri Git"
case left = "Sola Dön"
case right = "Sağa Dön"
}
Bir değeri tanımlayıp onun ne türünden olduğunu belirtmek bu kadar işte aşağıdaki kadar kolay!
let userGender = Gender.male
let leftDirection = Direction.male
Enum’lar da tüm veri türleri gibi Array’ler halinde tutulabilir.
let directionsToAkasya: [Direction] = [.left, .forward, .right]
Yukarıda Direction adında bir enum tanımlamıştık ve case’lerine rawValue değerleri vermiştik. Bu değerlere ulaşmak da çok kolay!
let solaDönYazısı = Direction.forward.rawValue
let ileriYazısı = Direction.forward.rawValue