NSDictionary dic;
NSMutableArray array;
//Objective-C Code.
array = [dic valueForKey:@"Table"]; //"Table" is key in dictionary
Swift'de aynı kodu nasıl yazılır?Amaç-C gibi, hızlı "valueForKey" yazmak nasıl?
NSDictionary dic;
NSMutableArray array;
//Objective-C Code.
array = [dic valueForKey:@"Table"]; //"Table" is key in dictionary
Swift'de aynı kodu nasıl yazılır?Amaç-C gibi, hızlı "valueForKey" yazmak nasıl?
Sen en iyisi sen Swift
let employees = json["employees"]! as [[String : AnyObject]]
Sonraki adım içinde Sözlükler başa nasıl fikir alacak döngü çalışanları dizidir ve ad ve soyad yazdırın.
Bir dizi sözlükte döngü yaptığımızı unutmayın. ad ve soyad gelen dize değerlerini elde etmek için öncelikle isteğe bağlı öğeleri paketini gerektiğini Anlamı:
for employee in employees {
let firstName = employee["firstName"]! as String
let lastName = employee["lastName"]! as String
println("employee: \(firstName) \(lastName)")
}
Yapı, çalıştırmak ve görmelisiniz:
employee: John Doe
employee: Anna Smith
employee: Peter Jones
bu kodu kontrol edin. İhtiyacın olan şeyde yardımcı olabilir.
var dictData = Dictionary <String,Any>()
var arrDictData = Array<Any>()
// Will store value for key in dictionary.
func storeData (strName: String , strAge: String) {
dictData["name"]=strName
dictData["age"]=strAge
println("dictData: \(dictData)")
storeInArray(dictData)
}
// Will store value of dictionary in array.
func storeInArray (dict : Any) {
arrDictData.append(dict)
println("arrDictData: \(arrDictData)")
}
// Will return count of array.
func resultArray() -> Int {
println(arrDictData.count)
return arrDictData.count
}
// This function will return value in label.
func arrDictResult(dictKey: String, rowIndex: Int) -> String {
var dataTemp = arrDictData[rowIndex] as Dictionary <String,Any>
var val = dataTemp[dictKey] as String
return val
}
Bu
let array: AnyObject? = dic["Table"]
Bu
var dict=NSJSONSerialization.JSONObjectWithData(data, options: NSJSONReadingOptions.MutableContainers, error: NSErrorPointer.null()) as NSDictionary
var temp=dict["contactname"] as String
var tem=dict.valueForKey("contactname") as String
StackOverflow'a hoş geldiniz. Lütfen kodunuza, sorunu nasıl çözdüğünü ve nedenini gösteren bir açıklama ekleyin. Bu, cevabınızı gelecekte görecek başkalarına yardımcı olacak ve cevabınızı StackOverflow için daha değerli hale getirecektir. –
Basit örneğin deneyebilirsiniz deneyebilirsiniz.
(dicDetail.valueForKey("name") as! String)
Ama şimdi işe yaramayacak. Ben swift3 Sözlük'ten anahtar değeri almak için sözdizimini değiştireceğini düşünüyorum. – hilaj
Swift içinde valueForKey:
artık yoktur ancak, aynı değilse, sonuç da benzer ulaşmak için map
kullanmak için bir yolu yoktur.
koleksiyonunda nesneler sözlükleri ise:
let array = dic.map { $0["table"] as? String }
koleksiyonunda nesneler nesnelerdir ise:
let array = dic.map{ $0.table }
Eğer örnekte NSDictionary
gibi Objective-C toplama türlerini kullanıyorsanız Diğerleri de söyledikleri gibi, valueForKey:
'u kullanmaya devam edebilirsiniz.
let array = dic.valueForKey("table")
Teşekkürler! Bu soru için mükemmel bir cevap ... –