optional & non-optional
Optional
Optional kavramı bir değişken tanımlarken değişkenin tipini örtülü olarak atamamızı sağlayan yapıdır. Bir örnekle durumu detaylandıralım.
Aşağıdaki kodda normal şartlarda değişkeni tanımlarken : Int şeklinde değişkenin tipini belirtmek zorunda değiliz. Fakat değişkene bir değer ataması yapmamız gerekiyor aksi taktirde uygulamamız bize hata verecektir.
Eğer değişkeni tanımlarken tip adının sonuna ? işaretini eklersek değişkenimiz artık opsiyonel olacaktır ve boş olması durumunda default olarak nil değerini döndürecektir.
Ayrıca değişkenimizi optional olarak tanımlayıp bir değer ataması yaptığımızda aslında değişkenimizi bir kutu içerisine alıyormuşuz gibi düşünebiliriz. Değişkenimizi kullanabilmek için kutudan çıkarmamız gerek. Bunun için bir kaç yöntem bulunmaktadır.
1- Değişkenimizi kullanacağımız yerde sonuna ! (ünlem işareti) ekleyebiliriz.
2- Bir önceki yazımda bahsettiğim if let ve guard let yapıları ile değişkenimizi kutudan çıkartabiliriz.
3- Bir diğer yöntem ise değişkenimizi kullanırken ?? operatörü ile varsayılan değer ataması yapabiliriz. Bu yapı değişkenimizin değerini değiştirmez. Sadece değişkenimizin nil gelmesi durumunda kullanılacak bir değer belirtir.
Last updated