JSON analysiert schnell, Array hat keinen Wert außerhalb von NSURLSession
Ich versuche, einen json-Webservice in swift mit dem folgenden Code aufzurufen und in @ anzuzeigetableview
in schnellen IOS.
/*declared as global*/ var IdDEc = [String]() // string array declared globally
//inside viewdidload
let url = NSURL(string: "http://192.1.2.3/PhpProject1/getFullJson.php")
let task = NSURLSession.sharedSession().dataTaskWithURL(url!) {(data, response, error) in
let json1 = NSString(data: data!, encoding: NSUTF8StringEncoding)
print("json string is = ",json1) // i am getting response here
let data = json1!.dataUsingEncoding(NSUTF8StringEncoding, allowLossyConversion: false)
do {
let json = try NSJSONSerialization.JSONObjectWithData(data!, options: .MutableContainers) as! NSArray
for arrayData in json {
let notId = arrayData["ID"] as! String
self.IdDEc.append(notId)
}
print(" id = ",IdDEc) //here i am getting values
} catch let error as NSError {
print("Failed to load: \(error.localizedDescription)")
}
print(" id out count = ",self.IdDEc.count) //here also
}
print(" id out count = ",self.IdDEc.count) // not here
task.resume()
i hat das Array IdDEc als global deklariert. Der Gültigkeitsbereich dieses Arrays befindet sich jedoch nur in NSURLSession.
Auch ich möchte dieses Array verwenden, um tableview aufzufüllen. Hier ist die Beispiel-JSON-Ausgabedatei
[
{"ID":"123" , "USER":"philip","AGE":"23"},
{"ID":"344","USER":"taylor","AGE":"29"},
{"ID":"5464","USER":"baker","AGE":"45"},
{"ID":"456","USER":"Catherine","AGE":"34"}
]
Ich bin ein Neuling in Swift, bitte helfen Sie