2015-02-24 12 views

cevap

0

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 
+0

Teşekkürler! Bu soru için mükemmel bir cevap ... –

0

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 
    } 
6

Bu

let array: AnyObject? = dic["Table"] 
2

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 
+0

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. –

3

Basit örneğin deneyebilirsiniz deneyebilirsiniz.

(dicDetail.valueForKey("name") as! String) 
+0

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

4

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") 
İlgili konular