ios - 将 URLRequest 转换为 NSMutableURLRequest

标签 ios swift swift3

我正在尝试将 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/

相关文章:

iphone - 如何在 webview 中显示来自服务器的响应

ios - 解析 "orderByDescending"查询

ios - 快速为图像添加滤镜

ios - swift 中的 Firebase 查询排序顺序?

ios - 如何在 RxSwift 中选择 CollectionView 单元格

ios - 更改 QLPreviewController 中的导航栏颜色

ios - 在Objective c iOS 11中静默通知显示标题中的错误

iphone - 没有得到所有照片用户在 facebook 中被标记

ios - 如何在 xcode 7、iOS9 中创建具有多个/不同选项卡 View 的幻灯片菜单?

swift - UIAlert 问题