我有一个带有webview的类,我想添加一个静态var,我已经用其他类做了它并且它正在工作但现在我不知道为什么,但我有一个关于“编码器”参数的错误:
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
}
}
如果有人有想法,谢谢
答案 0 :(得分:2)
问题是你没有任何不带参数的初始化器。尝试添加以下初始化程序,它应该可以工作。
init () {
// Your initialization
}
编辑:发布OP评论 - 每个Apple文档:
“指定的初始化程序必须确保所有”属性 由类引入的它在委托之前被初始化 超类初始化器。“