¿Cómo get todas las keys y valores en matrices de cadenas separadas de NSDictionary en Swift?

let urlAsString = "https://drive.google.com/uc?export=download&id=0B2bvUUCDODywWTV2Q2IwVjFaLW8" let url = NSURL(string: urlAsString)! let urlSession = NSURLSession.shanetworkingSession() let jsonQuery = urlSession.dataTaskWithURL(url, completionHandler: { data, response, error -> Void in do { if let jsonDate = data, let jsonResult = try NSJSONSerialization.JSONObjectWithData(jsonDate, options: []) as? NSDictionary { print(jsonResult) } } catch let error as NSError { print(error) } }) jsonQuery.resume() 

De acuerdo, entonces aquí estoy recibiendo datos de Json en línea y luego almacenándolos como NSDictionary en jsonresult. Necesito get todas las keys y valores en dos matrices separadas?

Básicamente quiero esto

jsonresult.allkeys -> array de cadenas
jsonresult.allvalues ​​-> array de cadenas

Puedes usar:

 let keys = jsonResult.flatMap(){ $0.0 as? String } let values = jsonResult.flatMap(){ $0.1 } 

Es bastante simple porque está utilizando jsonResult como NSDictionary .

 let dict: NSDictionary = ["Key1" : "Value1", "Key2" : "Value2"] let keys = dict.allKeys let values = dict.allValues 

En tu caso

 let keys:[String] = dict.allKeys as! [String] var values:[String] if let valuesSting = dict.allValues as? [String] { values = valuesSting }