NEW: Subscribe to Hacking with Swift+ and accelerate your learning! >>

Şartlı ifadeler

Bazen kodunu sadece belirlenen durumun true (doğru) olduğunda çalıştırmak istersin ve Swift dilinde bu öncelikli olarak if ve else ("eğer" ve "değilse") ifadeleri ile sunulmuştur. Swift'e kontrol etmesi için bir durum, sonra da o durum doğru ise bir kod bloğu verirsin.

else seçeneğini ve eğer durum yanlış ise çalıştırılacak kod bloğunu yazmayı istersen seçebilirsin. Hatta else if kullanıp, daha fazla durum yaratabilirsin. Bir kod "bloğu", { ile başlayıp, } ile biten yalnızca bir kod yığınıdır.

İşte size küçük bir örnek:

var action: String
var person = "hater"

if person == "hater" {
    action = "hate"
}

Daha önce tanıtılan ve person değişkeninin içeriğinin "hater" sözcüğüne eşit olup olmadığını kontrol eden == (eşitlik) operatörünü kullanıyor bu örnek. Eğer eşitse, action değişkenine "hate" sözcüğü atanıyor. Buradaki, daha az teknik bir isim olan "süslü parantezler" olarak da bilinen, açık ve kapalı parantezlere dikkat ediniz. Bu süslü parantezler, durum doğru olduğunda çalıştırılacak kodun başlangıcını ve sonunu belirtiyor.

Hadi else if ve else bloklarını da ekleyelim:

var action: String
var person = "hater"

if person == "hater" {
    action = "hate"
} else if person == "player" {
    action = "play"
} else {
    action = "cruise"
}

Burada, sırasıyla her bir durum kontrol edilecek ve sadece bir kod bloğu çalıştırılacak: Bir kişi (person) ya "hater", ya "player" ya da başka birşeydir.

Çoklu durumları değerlendirme

Swift dilinde istediğiniz kadar çok durumu değerlendirebilirsiniz, sadece kod bloklarının çalıştırılabilmesi için hepsinin doğru sırada olması gerekli. Çoklu durumları kontrol etmek için "ve" anlamına gelen && operatörünü kullanın. Örneğin:

var action: String
var stayOutTooLate = true
var nothingInBrain = true

if stayOutTooLate && nothingInBrain {
    action = "cruise"
}

stayOutTooLate ve nothingInBrain değişkenlerinin ikisi de doğru, tüm şart doğru ve dolayısıyla action değişkeninin değeri de "cruise" oluyor. Swift, performansı arttırmak için kısa devre değerlemesi adı verilen birşey kullanır: Eğer birden çok değerin hepsinin doğru olarak değerlendirilmesi gerekiyorsa ve ilki yanlışsa, geri kalanını kontrol etmeye uğraşmaz.

Gerçekliğin zıttını arama

Bu size derinlemesine felsefi gelebilir, ama aslında bu önemli: Bazen durumun doğru olmamasına dikkate alırsın; yani yanlış olmasını. Bunu da, daha önce bahsettiğimiz ! (değil) operatörüyle yapabilirsin. Örneğin:

if !stayOutTooLate && !nothingInBrain {
    action = "cruise"
}

Bu kez, action değişkeni hem stayOutTooLate, hem de nothingInBrain yanlış olduğunda sadece atanacak; ! operatörü onları tersine çevirdi.

Hacking with Swift is sponsored by NSSpain

SPONSORED Announcing NSSpain 2020: Remote Edition! An online, continuous conference for iOS developers. We’ll start on Thursday and finish on Friday, with talks, activities, and lots of fun for 36 hours, non-stop. Sound good? Join us!

Find out more

Sponsor Hacking with Swift and reach the world's largest Swift community!

BUY OUR BOOKS
Buy Pro Swift Buy Swift Design Patterns Buy Testing Swift Buy Hacking with iOS Buy Swift Coding Challenges Buy Swift on Sundays Volume One Buy Server-Side Swift (Vapor Edition) Buy Advanced iOS Volume One Buy Advanced iOS Volume Two Buy Advanced iOS Volume Three Buy Hacking with watchOS Buy Hacking with tvOS Buy Hacking with macOS Buy Dive Into SpriteKit Buy Swift in Sixty Seconds Buy Objective-C for Swift Developers Buy Server-Side Swift (Kitura Edition) Buy Beyond Code

Was this page useful? Let us know!

Link copied to your pasteboard.