Swift 返回后数组为空
我试图从下面的方法中获取一个数组。方法Swift 返回后数组为空,swift,Swift,我试图从下面的方法中获取一个数组。方法parseJSONResult返回一个数组,我用print检查了它是否正确地执行了此操作,并且它绝对正确。变量self.jobOpenings是类中的数组属性。我之所以有这个变量,是因为我想在调用另一个类中的doNetworking()后使用它。但是,.count如果在语句之外调用,如果httpResponse.statusCode==200,则给出0。我希望我已经提供了足够的信息,任何人都可以帮助我,谢谢 func doNetworking() {
parseJSONResult
返回一个数组,我用print
检查了它是否正确地执行了此操作,并且它绝对正确。变量self.jobOpenings
是类中的数组属性。我之所以有这个变量,是因为我想在调用另一个类中的doNetworking()
后使用它。但是,.count
如果在语句之外调用,如果httpResponse.statusCode==200,则给出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()
}
我认为如果在if httpResponse.statusCode==200
之外调用.count
方法,它将是0,因为if
末尾的返回
当执行时,如果执行了,则后面的代码将不会被调用doNetworking
不会等待请求完成。当您从另一个类检查count
时,请求仍在运行,因此值显然仍然为零。阅读有关异步调用和回调的信息。可能重复