【发布时间】:2015-11-05 11:06:37
【问题描述】:
typealias NetworkResponse = (data: NSData?, response: NSURLResponse?, error: NSError?)
extension NSURLSession {
func sendSynchronousDataTaskWithRequest(request: NSURLRequest) -> NetworkResponse? {
let semaphore = dispatch_semaphore_create(0)
var response: NetworkResponse? = nil
let task = dataTaskWithRequest(request) { (data :NSData?, response: NSURLResponse?, error: NSError?) -> Void in
response = NetworkResponse(data: data, response: response, error: error)
dispatch_semaphore_signal(semaphore)
}
task.resume()
dispatch_semaphore_wait(semaphore, DISPATCH_TIME_FOREVER)
return response
}
}
无法在 swift 中为块内的响应变量赋值。 swift中缺少关键字__block
错误是:
无法赋值:'response' 是 'let' 常量
【问题讨论】:
-
rename var response,现在你正在尝试分配闭包的输入参数
标签: swift