2015-10-19 116 views
0

我有一个webview类,我想添加一个静态var,我已经做了这个与其他类,它的工作,但现在我不现在为什么,但我有一个关于“编码器”参数错误:static var缺少参数“coder”的参数

class Actu: UIViewController, WKNavigationDelegate { 

class var myInstance : Actu{ 
    struct Static { 
     static let myInstanceActu : Actu = Actu() //Missing argument for parameter 'coder' in call 
    } 
    return Static.myInstanceActu 
} 
     required init(coder aDecoder: NSCoder){ 
    let config = WKWebViewConfiguration() 
    let scriptURL = NSBundle.mainBundle().pathForResource("hideSectionsActu", ofType: "js") 
    let scriptContent = String(contentsOfFile:scriptURL!, encoding:NSUTF8StringEncoding, error: nil) 
    let script = WKUserScript(source: scriptContent!, injectionTime: .AtDocumentStart, forMainFrameOnly: true) 
    config.userContentController.addUserScript(script) 
    self.webView = WKWebView(frame: CGRectZero, configuration: config) 
    super.init(coder: aDecoder) 
    self.webView.navigationDelegate = self 

} 

}

如果某人有一个想法,感谢

回答

2

问题是,你没有不带参数的任何初始化。尝试添加下面的初始化,它应该工作。

init() { 
    // Your initialization 
} 

编辑:后OP评论 - 每苹果文档:

“A指定初始化必须确保所有的“通过其类推出性能 是它代表初始化之前长达 超初始值设定项“。

+0

我做到了,错误消失了,我重写了init并添加了一个super.init()。现在它告诉我“Property'self.webview'没有在super.init调用初始化” – matheo972

+0

没关系,这很容易。并再次感谢您的回答,这真的有帮助 – matheo972

+0

很高兴帮助!干杯:)! – Abhinav