2015-10-19 110 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