ios - URL session 初始化问题

标签 ios swift urlsession

class URLSessionDataTask: URLSessionDataTask {
    private let url: URL
    private let data: Data

init(configuration: URLSessionConfiguration = .default, url: URL, data: Data, statusCode: Int, completion: @escaping ) {
    self.data = data
    self.url = url

}

func execute() {
    let response = HTTPURLResponse(url: url, statusCode: statusCode, httpVersion: nil, headerFields: nil)
    completion(data, response, nil)
}

我正在进行一些测试,它正在工作,但我收到黄色错误,我该如何修复我的代码?请帮助我。

最佳答案

您收到此警告是因为 swift 自动调用已弃用的默认 super.init() 。明确指定:

class MockURLSession: URLSession {
    private let url: URL
    private let data: Data
    private let statusCode: Int
    
    init(configuration: URLSessionConfiguration = .default, data: Data, statusCode: Int, url: URL = URL(string: "https:flicker.com")!) {
        self.data = data
        self.url = url
        self.statusCode = statusCode
        super.init(configuration: configuration)
    }
}

关于ios - URL session 初始化问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68756347/

相关文章:

ios - Swift + Autolayout : Rotate UILabel, 保持在 UIView 旁边

swift - 如何使用 URLSession 在 Swift 中发出带参数的 POST 请求

swift - 如何在 URLSession 中调用 completionBlock

iOS UITableView reloadRowsAtIndexPaths

ios - UISearchController 问题 swift ios

swift - 插入字典 int 和 string 不起作用(swift4)

ios - iOS如何实现客户端和服务器端的相互认证?

ios - NSDateFormatter 缺少方法...我是否缺少导入

ios - 隐藏 AVPlayerViewController 中的控件——仅在开始时

ios - 从所有 TableViewCells 获取数据