У меня есть несколько функций, которые должны брать данные из Wunderground API и возвращать из них значение. Мой класс ниже:
import UIKit
import Foundation
typealias ServiceResponse = (JSON, NSError?) -> Void
class APITest: NSObject {
static let sharedInstance = APITest()
let baseURL = "http://api.wunderground.com/api/91e65f0fbb35f122/history_20150811/q/OR/Portland.json"
func getRandomUser(onCompletion: (JSON) -> Void) {
let route = baseURL
makeHTTPGetRequest(route, onCompletion: { json, err in
onCompletion(json as JSON)
})
}
func makeHTTPGetRequest(path: String, onCompletion: ServiceResponse) {
let request = NSMutableURLRequest(URL: NSURL(string: path)!)
let session = NSURLSession.sharedSession()
let task = session.dataTaskWithRequest(request, completionHandler: {data, response, error -> Void in
let json:JSON = JSON(data: data)
onCompletion(json, error)
})
task.resume()
}
func addData() {
APITest.sharedInstance.getRandomUser { json in
let historyData = json["response"]["history"]["date"]["pretty"]
dispatch_async(dispatch_get_main_queue(),{
println("Value:\(historyData)")
})
}
}
Однако каждый раз, когда я запускаю код, он возвращает нулевое значение. API находится в моем коде; обращайтесь к нему по мере необходимости. Где мой код пошёл не так и как я могу это исправить?
printl()
ваши данные JSON в dataTask и посмотрите, существуют ли они. - person Brandon A   schedule 13.08.2015