“
Optional” kavramı, daha önceden alışık olmadığımız yeni bir kavram. Objective C’de aynı işi yapan bir eleman yoktu.
Optinal kavramı, bir değerin sonucunun var olup olmaması ile alakalı. Bir işlem yaptığımızda, işlemin sonucu gelen değere göre değişebilecek ise ve
bazen bir değer verip,
bazen ise hiç bir değer vermeme durumu varsa, optional kavramı geçerlidir. Kelimelerle bu işi anlatmak gerçekten zor, en iyisi mi biz örnek üzerinden gidelim.
Örnek:
Swift’de
String tipi,
toInt adında bir metoda sahip. Adından da anlaşılacağı üzere, toInt metodu string bir değeri integer bir değere çeviriyor.
İki farklı senaryo düşünelim.
İlk senaryomuzda “10011980” string değerini integer bir değere çevirmeye çalışalım.
ikinci senaryomuzda da “Dragons War” string değerini integer bir değere çevirmeye çalışalım.
Senaryo 1: Kod:
let myString = "10011980"
let intResult = myString.toInt()
Senaryo 2: Kod:
let myString = "Dragons War"
let intResult = myString.toInt()
intResult burada optional Int değer oluyor, çünkü “Dragons War” ifadesi integer’a çevrilebilecek bir ifade değil.
optional int ifadesini Int? şeklinde gösteriyoruz.