0
返回值我有一个函数:不能调用非功能型“JSON”的价值,如何从块斯威夫特
func connectToWS(callback: (JSON)) -> Void {
let urlPath: String = "http://xxx.webservice.com"
let url: NSURL = NSURL(string: urlPath)!
let request: NSURLRequest = NSURLRequest(URL: url)
let session = NSURLSession.sharedSession()
let task = session.dataTaskWithRequest(request){
(data, response, error) -> Void in
if error != nil {
} else {
let json:JSON = JSON(data: data!)
// RETURN?
}
}
task.resume()
}
所有我想要做的是返回的NSDictionary JSON序列字典,当我调用这个函数。但似乎我不能,因为我的JSON数据在dataTaskWithRequest块中。我已经使用回拨尝试,但它显示了错误:
Cannot call value of non-function type 'JSON'
任何人都可以点我的方向来解决这个问题?
我正在使用SwiftyJSON作为第三方库。
感谢您的帮助。只是最后一个问题: 是connectToWS(){数据,在一个块中的响应错误? –
是的。它的“封闭”更精确。如果'closure'是该函数的唯一参数,那么这就是你如何编写它的方法。 – Abhinav