当我创建调用webservice的方法时,我传递了一个responseHandler。 然后在这个方法的最后我有: responseHandler(false,nil,error,nil)
这是什么意思?我是否正在执行另一个传递方法(false,nil,error,nil)或者我将它返回到同一个方法? 当执行“responseHandler(false,nil,error,nil)”时会怎么做?
方法=====================================
func sessionTaskPostRequest (_ urlRequest : URLRequest , responseHandler: @escaping ResponseHandler) -> URLSessionTask {
let sesstionTask : URLSessionTask = networkSession.dataTask(with: urlRequest, completionHandler: { (data : Data? , urlResponse : URLResponse? , error : NSError? ) in
var json: NSDictionary!
do {
json = try JSONSerialization.jsonObject(with: data!, options: JSONSerialization.ReadingOptions()) as? NSDictionary
} catch {
print(error)
}
if(error != nil) {
responseHandler (false , nil , error , nil)
}
THX
答案 0 :(得分:0)
responseHandler这里是一段代码。
这是什么意思?
在大多数情况下,您使用一段代码来处理异步事件的响应。因此,在您的情况下,您尝试了解您对服务器的请求是否成功。
<强>建议强>
我建议你在你的代码中搜索声明ResponseHandler的类型。我想它可能是这样的:
typealias ResponseHandler = (p1: Type, p2: Type, p3: Type, p4: Type) -> Void
所以看看params的真实姓名,你应该能够知道你传给这个街区的是什么。
另一件事,我认为你也应该在成功时调用这个块。否则,您只会在异步函数失败时进行报告。