任何人都可以告诉我下面的代码意味着什么。我想学习迅捷,我不明白 在线以下。
NSURLConnection.sendAsynchronousRequest(request, queue: NSOperationQueue.mainQueue())
{
(response, data, error) in
println(NSString(data: data, encoding: NSUTF8StringEncoding))
}
非常感谢你的时间。
答案 0 :(得分:1)
这会异步启动网络request
,一旦完成,它会执行println
所收到的NSString
的{{1}}表示,并以此为主队列(data
)。
在解密它时,请考虑NSOperationQueue.mainQueue()
函数的定义:
sendAsynchronousRequest
第三个参数是一个闭包。您的语法正在利用“尾随闭包”语法,该语法允许您在函数之后将该尾随闭包参数作为块提供。因此,class func sendAsynchronousRequest(_ request: NSURLRequest,
queue queue: NSOperationQueue!,
completionHandler handler: (NSURLResponse!,
NSData!,
NSError!) -> Void)
语法将这三个变量映射到response, data, error in
参数中的NSURLResponse
,NSData
和NSError
参数。
请参阅 Swift编程语言中的Closures讨论。
答案 1 :(得分:0)
它以异步方式发送请求。当操作完成时,它调用closure({}部分)。 response
参数是NSURLResponse!
实例,表示服务器的响应。 data
参数是NSData!
实例,表示服务器返回的数据。 error
参数是NSError!
实例,表示此过程中可能发生的错误。