Ios Swift必须调用超类uiinputviewcontroller的指定初始值设定项
在今天早上升级到8.3之后,我得到了主题中的错误 下面的代码过去工作得很好,但现在不再编译了。你们谁能帮帮我吗Ios Swift必须调用超类uiinputviewcontroller的指定初始值设定项,ios,swift,uiinputviewcontroller,Ios,Swift,Uiinputviewcontroller,在今天早上升级到8.3之后,我得到了主题中的错误 下面的代码过去工作得很好,但现在不再编译了。你们谁能帮帮我吗 protocol CustomAccessoryProtocol { func controlButtonPressed(tag:Int) } class CustomAccessory : UIInputViewController { var accessoryView : UIView! var delegate : CustomAccessoryPro
protocol CustomAccessoryProtocol {
func controlButtonPressed(tag:Int)
}
class CustomAccessory : UIInputViewController {
var accessoryView : UIView!
var delegate : CustomAccessoryProtocol!
@IBOutlet weak var returnButton: UIButton!
@IBOutlet weak var backButton: UIButton!
@IBOutlet weak var forwardButton: UIButton!
init(delegate: CustomAccessoryProtocol){
super.init()
self.delegate = delegate
}
required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
fatalError("init(coder:) has not been implemented")
}
override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) {
super.init(nibName: nibNameOrNil, bundle: nibBundleOrNil)
let customNib = UINib(nibName: "CustomAccessory", bundle: nil)
accessoryView = customNib.instantiateWithOwner(self, options: nil)[0] as! UIView
}
@IBAction func buttonPress(sender: AnyObject) {
delegate.controlButtonPressed(sender.tag!)
}
override func viewDidLoad() {
super.viewDidLoad()
view.addSubview(accessoryView)
}
}
我在NSWindowController的以下代码中遇到了相同的问题:
init() {
super.init()
}
我把它改成:
convenience init() {
self.init()
}
我认为苹果公司比以前更严格地执行便利性初始化 我想知道UIInputViewController的指定初始值设定项是什么?我想不是
init(frame:CGRect)
?第一个init不是一个方便的init吗?你必须添加便利关键字吗?我不认为这是一门科学。我曾经有过一些案例,我不得不与之斗争一段时间才能弄清楚。根据您拥有的初始值设定项,我假设您在某个时候阅读了有关该主题的Swift…UIInputViewController或UIViewController的8.3文档中是否有任何更改?我找不到任何更改,或者可能我遗漏了一些内容,我还想知道指定的初始值设定项,因为我所看到的都是我已经拥有的。也许他们会更新文档,因为到目前为止我看不到这方面的任何内容。然而,在为第一个init和self.init(而不是超级init)添加便利性时,它似乎是有效的。先生,你让我高兴极了!伟大的很高兴它能工作。对于self.init(),我收到警告“找不到接受提供的参数的'init'的重载saddingconvency init()
给了我一个严重的超额。请帮助。可能是因为您引用的是self.init()
哪一个引用自身?不。它就像递归函数调用一样,从不工作。为什么它有这么多的上表决权?这会导致无限循环。