gpt4 book ai didi

ios - URLSession 完成处理程序应用程序崩溃

转载 作者:行者123 更新时间:2023-11-30 11:34:12 30 4
gpt4 key购买 nike

我正在对 URLSession 使用方法调配,下面是我的调配方法。我不确定为什么应用程序在执行 @escaping 的完成处理程序时在目标应用程序中崩溃。请帮助我。

@objc func mytestTaskWithRequest(request: URLRequest,completionHandler: @escaping (Data?, URLResponse?, Error?) -> Void ) -> URLSessionDataTask {
let completionHandler: (Data?, URLResponse?, Error?) -> Void = {(data, response, error) in
if error == nil {
DispatchQueue.main.async {
self.captureNetworkInfo(senderRequest: request, senderResponse: response!)
}
}
completionHandler(data,response,nil)
}
return mytestTaskWithRequest(request: request,completionHandler: completionHandler)
}

最佳答案

您的响应是空安全的,并且您使用!强制它,如果响应返回空,那么您的应用程序将崩溃试试这个:

@objc func mytestTaskWithRequest(request: URLRequest,completionHandler: @escaping (Data?, URLResponse?, Error?) -> Void ) -> URLSessionDataTask {
let completionHandler: (Data?, URLResponse?, Error?) -> Void = {(data, response, error) in
if error == nil {
DispatchQueue.main.async {
if let tempResponse = response {
self.captureNetworkInfo(senderRequest: request, senderResponse: tempResponse)
}
}
}
completionHandler(data,response,nil)
}
return mytestTaskWithRequest(request: request,completionHandler: completionHandler)
}

关于ios - URLSession 完成处理程序应用程序崩溃,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49935145/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com