Come ottenere valore da un Array() indice di Swift?

    let urlPath: String = "http://binaenaleyh.net/dusor/"
    var url: NSURL = NSURL(string: urlPath)
    var imgData: NSData = NSData(contentsOfURL: url)

    let jsonDict = NSJSONSerialization.JSONObjectWithData(imgData, options: nil, error: &error) as NSDictionary

    println(jsonDict["dersler"])

Restituisce tutta la JSON valore, ma ho bisogno che il valore di un indice specifico solo.

  • Tizio, non modifica la mia risposta ad una domanda. Lascia un commento se vuoi chiedere qualcosa. Che errore hai trovato, per riavviare Xcode.
  • E ‘ dare la risposta giusta. restituisce un Array di dizionario e se si desidera che un determinato elemento del dizionario poi devi seguire @Fogmeister risposta
InformationsquelleAutor user3793284 | 2014-07-17



2 Replies
  1. 1

    Prendo jsonDict è un NSDictionary o un [NSObject:AnyObject]? Prima di tutto, non si dovrebbe usare valueForKey(). Il metodo appropriato NSDictionary è objectForKey. Ma ancora meglio, si può solo indice di essa.

    Naturalmente, i risultati del pedice sono un valore digitato come AnyObject, e non si può semplicemente indice che. È necessario eseguire il cast di tipo appropriato. Se conosci il cast avrà successo, si può semplicemente utilizzare as, altrimenti avrete bisogno di as?. Supponendo che l’ultimo, questo sarebbe simile

    if let ary = jsonDict["dersler"] as? [Int] {
        let x: Int = ary[0]
        println(x)
    }
    • questo è, inoltre, non funziona .la sua non è l’inserimento di istruzione se
    • l’effettiva array dizionari, come {"0": "2013-2014", "1": "BAHAR", "2": "2", "3": "CEE 102", "4": "Logic Circuits", "5": "3", "6": "6.00", "7": "YRD.DO\u00c7.DR.INDRIT MYDERRIZI", "8": "0", "9": "IA", "10": "TeacherHold", "11": "2", "12": ""} invece di Int valori puri. probabilmente è per questo che il cast di tipo non corretto.
  2. -2

    Sicuramente si può proprio fare…

    println(jsonDict["dersler"][0])

    ?

    Questo è stato chiesto molte volte.

    • Non è possibile utilizzare le virgolette all’interno di un valore interpolato. Per fortuna, non avete davvero bisogno di interpolazione a tutti. println(foo) funziona bene.
    • grazie. Aggiornato. Si può usare virgolette? cioè jsonDict['dersler']?

Lascia un commento