2016-03-23 28 views

cevap

-1

1 obj = şey) hiçbir ile anlam VEYA 2 vardır) için VE kullanımını yerine

if let u = custom["u"] as? String, 
let url = custom["URL"] as? String { 
// Do something here 
} 
4

kullanabilir miyim Birden çok koşul ekleyebilir, ancak yalnızca AND koşullarını kullanırsanız.

OR kullanırsanız, hangi değerin doğru şekilde ayarlandığını bilmiyorsunuz ve bu nedenle değişkenlere düzgün bir şekilde erişemiyorsunuz.

Bir AND sınaması ile, her iki değişkenin de düzgün bir şekilde oluşturulduğundan emin olursunuz, bu nedenle türlerini kesin olarak bildiğinizden emin olun.

Bir virgül ayırıcı ile ayrılan testleri yazmak zorunda: Kabul ediyorum

if let u = custom["u"] where u == "testValue", 
    let url = custom["URL"] { 
    // Do something here 
} 
-1

: where anahtar kelimeyi kullanarak, aynı zamanda

if let u = custom["u"], 
    let url = custom["URL"] { 
    // Do something here 
} 

, doğrudan if let bloktan sonra bazı koşullar ekleyebilirsiniz user3441734 ile. Bunu yapmak ister misin?

if let u = custom["u"] as? String { 
    if let url = custom["URL"] as? 
    // Do something here 
    } 
} 

Bu şekilde yapardım. İç blok, yalnızca yukarıdaki koşul doğru olduğunda çalıştırılır veya:

Bu şekilde ikisi kontrol edilir ve yürütülür.

0

Koleksiyon türünüzün Dictionary olduğunu varsayalım.

Gerçekten kullanmak istiyorsanız OR:

if(custom.keys.contains("u") || custom.keys.contains["URL"]) { } 

Ama zaten başkaları o anahtarlar için değerler gerekiyorsa, yine eğer iki ayrı yazmak zorunda çünkü gerçekten mantıklı olmadığını yazdı ifadeleri.

if let u = custom["u"] { 
    print("Value for u: \(u!)"); 
} 

if let url = custom["URL"] { 
    print("Value for URL: \(url!)"); 
}