Swift - Opsiyonlar

Swift 4 ayrıca Optionalsbir değerin yokluğunu ele alan tür. Opsiyonlar ya "bir değer vardır ve x'e eşittir" ya da "hiç değer yoktur" derler.

Opsiyonel, başlı başına bir türdür, aslında Swift 4'ün yeni süper güçlü numaralandırmalarından biridir. İki olası değeri vardır,None ve Some(T), nerede T Swift 4'te bulunan doğru veri türünün ilişkili bir değeridir.

İşte isteğe bağlı bir Tamsayı bildirimi -

var perhapsInt: Int?

İşte isteğe bağlı bir String bildirimi -

var perhapsStr: String?

Yukarıdaki bildirim, onu açıkça başlatmakla eşdeğerdir nil bu değer yok demektir -

var perhapsStr: String? = nil

Swift 4'te opsiyonellerin nasıl çalıştığını anlamak için aşağıdaki örneği alalım -

var myString:String? = nil

if myString != nil {
   print(myString)
} else {
   print("myString has nil value")
}

Yukarıdaki programı oyun alanını kullanarak çalıştırdığımızda, aşağıdaki sonucu elde ederiz -

myString has nil value

Opsiyonlar kullanmaya benzer nil Amaç-C'de işaretçiler ile, ancak sadece sınıflar için değil, her tür için çalışırlar.

Zorla Açma

Bir değişkeni şu şekilde tanımladıysanız: optional, sonra bu değişkenden değeri almak için yapmanız gereken unwrapo. Bu, değişkenin sonuna bir ünlem işareti koymak anlamına gelir.

Basit bir örnek alalım -

var myString:String?

myString = "Hello, Swift 4!"

if myString != nil {
   print(myString)
} else {
   print("myString has nil value")
}

Yukarıdaki programı oyun alanını kullanarak çalıştırdığımızda, aşağıdaki sonucu elde ederiz -

Optional("Hello, Swift 4!")

Şimdi değişkenin doğru değerini elde etmek için sarmalama uygulayalım -

var myString:String?

myString = "Hello, Swift 4!"

if myString != nil {
   print( myString! )
} else {
   print("myString has nil value")
}

Yukarıdaki programı oyun alanını kullanarak çalıştırdığımızda aşağıdaki sonucu alıyoruz.

Hello, Swift 4!

Otomatik Paket Açma

Soru işareti yerine ünlem işareti kullanarak isteğe bağlı değişkenleri tanımlayabilirsiniz. Bu tür isteğe bağlı değişkenler otomatik olarak açılır ve atanan değeri almak için değişkenin sonunda başka bir ünlem işareti kullanmanıza gerek yoktur. Basit bir örnek alalım -

var myString:String!
myString = "Hello, Swift 4!"

if myString != nil {
   print(myString)
} else {
   print("myString has nil value")
}

Yukarıdaki programı oyun alanını kullanarak çalıştırdığımızda, aşağıdaki sonucu elde ederiz -

Hello, Swift 4!

İsteğe Bağlı Bağlama

İsteğe bağlı bir değer içerip içermediğini öğrenmek ve eğer öyleyse, bu değeri geçici bir sabit veya değişken olarak kullanılabilir kılmak için isteğe bağlı bağlamayı kullanın.

İçin isteğe bağlı bir ciltleme if ifade aşağıdaki gibidir -

if let constantName = someOptional {
   statements
}

İsteğe bağlı bağlamanın kullanımını anlamak için basit bir örnek alalım -

var myString:String?
myString = "Hello, Swift 4!"

if let yourString = myString {
   print("Your string has - \(yourString)")
} else {
   print("Your string does not have a value")
}

Yukarıdaki programı oyun alanını kullanarak çalıştırdığımızda, aşağıdaki sonucu elde ederiz -

Your string has - Hello, Swift 4!