我正在尝试将 URLRequest
转换为 Swift 3.0 中的 NSMutableURLRequest
但我无法让它工作。这是我的代码:
var request = self.request
URLProtocol.setProperty(true, forKey: "", in: request)
但是它说
cannot convert type URLRequest to type NSMutableURLRequest.
当我尝试使用“as”进行转换时,它只是说转换总是会失败。我该怎么办?
最佳答案
其基础是获取可变副本,更新可变副本,然后使用可变副本更新请求。
let mutableRequest = ((self.request as NSURLRequest).mutableCopy() as? NSMutableURLRequest)!
URLProtocol.setProperty(true, forKey: "", in: mutableRequest)
self.request = mutableRequest as URLRequest
最好使用 avoid the forced unwrap。
guard let mutableRequest = (self.request as NSURLRequest).mutableCopy() as? NSMutableURLRequest else {
// Handle the error
return
}
URLProtocol.setProperty(true, forKey: "", in: mutableRequest)
self.request = mutableRequest as URLRequest
注意:self.request
必须声明为 var
而不是 let
。
关于ios - 将 URLRequest 转换为 NSMutableURLRequest,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41189959/