斯威夫特:错误:"必需'初始化程序" init(编码器:)'必须由NSURLRequest'"的子类提供。

时间:2016-07-20 05:13:41

标签: ios swift singleton nsurlrequest

我是NSURLRequest的子类。为创建的类创建自定义init方法。在编码时,我最终得到以下错误。" ' required'初始化程序" init(编码器:)'必须由“NSURLRequest”的子类提供 " ...

我的代码是

import Foundation

class URLRequest: NSURLRequest {
    init (UrlRequestWithURL: NSString, setHTTPBody: NSData, shouldHandleCookies: Bool, isHTTPMethodPost: Bool, withTimeoutInterval: NSTimeInterval)
    {

    }

// Here it shows the error
}

帮我解决这个问题..

除上述问题外......

  1. 我真的需要子类化NSUrlRequest ..(创建urlrequest变量的目的是创建几个必须为urlsession变量分配的请求。)还有其他任何方式可以满足目的吗?

  2. 如何在swift中创建单例类。这些天我和objc一起工作。我很难配制它。

1 个答案:

答案 0 :(得分:0)

我会避免继承 NSURLRequest 。当我这样做时,我遇到了非常奇怪的行为(并且越来越糟糕的行为越远,你支持iOS版本)。

您最好添加类别方法并使用 NSURLProtocol propertyForKey:inRequest:setProperty:forKey:inRequest:方法。