Swift - 如何正确继承 NSMutableURLRequest?

标签 swift subclass nsurlsession nsmutableurlrequest

我有子类 NSMutableURLRequest 如下:

class CustomNSMutableURLRequest: NSMutableURLRequest {

    convenience init(url : URL) {
        self.init(url: url)
        self.httpShouldHandleCookies = false
        self.httpMethod = "GET"
        print("Custom Request!")

    }
}

这会在 self.init(url: url) 行导致无限循环。使用 super 而不是 self 也不起作用。我该如何解决这个问题?

最佳答案

根据我的经验,您不能安全地将 NSURLRequest 子类化。如果这样做,您将遇到 NSURLSession 令人着迷的错误行为,其中对一个请求的响应会错误地关联到不同的请求。

另辟蹊径,比如使用为NSURLProtocol设计的方法,在请求中附加任意字符串,附加一个包含UUID的字符串,然后将其作为字典键。或者将 session 标识符与每个任务标识符结合使用。无论哪种方式。

关于Swift - 如何正确继承 NSMutableURLRequest?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55788541/

相关文章:

ios - UIButton 没有名为 setTranslatesAutoresizingMaskIntoConstraints 的成员

Cocoa:阻止字段编辑器按空格键自动完成

ios - UILabel 子类不显示文本

swift - 快速发出 POST 请求时状态代码 400

iOS:不同 View Controller 中的进度条

ios - 快速回复 : NSURLSessionDataTask from "userNotificationCenter:didReceiveNotificationResponse:withCompletionHandler:"

swift - 扩展现有协议(protocol)以使用默认实现实现另一个协议(protocol)

swift - Firestore : Reading multiple documents in transaction

objective-c - 如何在 UICollectionView 委托(delegate)方法之前触发带完成的 NSURLSession?

xcode - 在 Swift 中子类化 UIViewController 的样板代码