-2
我想從下面的方法獲取數組。方法parseJSONResult
返回一個數組,我已經檢查它是否正確地使用了print
,它確實如此。變量self.jobOpenings
是該類中的數組屬性。我有這個變量,因爲我想在另一個類中調用doNetworking()
之後使用它。但是,如果在if httpResponse.statusCode == 200
聲明之外呼叫,則.count
會給我0。我希望我已經提供了足夠的信息給任何人幫助我,謝謝。返回後數組是空的
func doNetworking() {
dataTask?.cancel()
let url = NSURL(string: "https://example.com/")
let session = NSURLSession.sharedSession()
dataTask = session.dataTaskWithURL(url!, completionHandler: {
data, response, error in
if let error = error {
if error.code == -999 {
print(error)
}
} else if let httpResponse = response as? NSHTTPURLResponse {
if httpResponse.statusCode == 200 {
let parsedData = self.parseJSONData(data!)
self.jobOpenings = self.parseJSONResult(parsedData!)
return
}
}
})
dataTask?.resume()
}
'doNetworking'不等待請求完成。當您從另一個類中檢查count時,請求仍在運行,所以該值顯然仍然爲零。瞭解異步調用和回調。 – Sulthan
[使用NSURLSession下載JSON不會返回任何數據](http://stackoverflow.com/questions/35289389/downloading-json-with-nsurlsession-doesnt-return-any-data) – Moritz