参数 "coder" 的静态 Var 缺少参数
Static Var Missing argument for parameter "coder"
我有一个带有 webview 的 class,我想添加一个静态变量,我已经用其他 class 做了这个并且它正在工作,但现在我不知道为什么,但是我有一个关于 "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
}
}
如果有人有想法,谢谢
问题是您没有任何不带参数的初始值设定项。尝试添加下面的初始化程序,它应该可以工作。
init () {
// Your initialization
}
编辑:Post OP 评论 - 根据 Apple 文档:
“A designated initializer must ensure that all of the “properties
introduced by its class are initialized before it delegates up to a
superclass initializer.”
我有一个带有 webview 的 class,我想添加一个静态变量,我已经用其他 class 做了这个并且它正在工作,但现在我不知道为什么,但是我有一个关于 "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
}
}
如果有人有想法,谢谢
问题是您没有任何不带参数的初始值设定项。尝试添加下面的初始化程序,它应该可以工作。
init () {
// Your initialization
}
编辑:Post OP 评论 - 根据 Apple 文档:
“A designated initializer must ensure that all of the “properties introduced by its class are initialized before it delegates up to a superclass initializer.”