ile izin veriyorsa Swift'in if let
'u kullanarak bir "OR" koşulu kullanmak mümkün mü? (A Dictionary<String, AnyObject>
sözlük için) gibiVEYA durum
şey:
if let value = dictionary["test"] as? String or as? Int {
println("WIN!")
}
ile izin veriyorsa Swift'in if let
'u kullanarak bir "OR" koşulu kullanmak mümkün mü? (A Dictionary<String, AnyObject>
sözlük için) gibiVEYA durum
şey:
if let value = dictionary["test"] as? String or as? Int {
println("WIN!")
}
'u kullanarak bu bir anlam ifade etmeyecektir, yalnızca bir if ifadeniz olduğunda bir Int veya String olup olmadığını nasıl anlayabilirsiniz?
let dictionary : [String : Any] = ["test" : "hi", "hello" : 4]
if let value = dictionary["test"] where value is Int || value is String {
print(value)
}
(Swift 2.0 test edilmiştir) Eğer türlerine bağlı olarak farklı şeyler yapmak gerekiyorsa da bunu yapabilirsiniz
:
if let value = dictionary["test"] {
if let value = value as? Int {
print("Integer!")
} else if let value = value as? String {
print("String!")
} else {
print("Something else")
}
}
Maalesef bunu yapamazsınız bildiğim kadarıyla. İfadeleri iki ayrı kullanmak zorunda kalacaksınız.
if let value = dictionary["test"] as? String {
doMethod()
} else if let value = dictionary["test"] as? Int {
doMethod()
}
Bu sorunu aşmanın birçok yolu vardır. bu sadece onlardan biri. Lütfen bu özel tipte if ifadesi hakkında daha fazla bilgi için Optional Chaining numaralı Apple belgesine bakın. Bu, Swift 1.2
Neden Bununla birlikte böyle bir şey yapabilir sadece 'olarak kullanın? AnyObject' – sbarow