首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Swift必须调用超类uiinputviewcontroller的指定初始值设定项

Swift必须调用超类uiinputviewcontroller的指定初始值设定项
EN

Stack Overflow用户
提问于 2015-04-09 14:17:45
回答 1查看 16.8K关注 0票数 8

在今天早上升级到8.3之后,我得到了主题中的错误。

下面的代码过去工作得很好,但是它不能再编译了。你们谁能帮帮我?

代码语言:javascript
复制
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)
    }
}
EN

回答 1

Stack Overflow用户

发布于 2015-04-14 16:28:43

我在使用NSWindowController的以下代码中也遇到了同样的问题:

代码语言:javascript
复制
init() {
    super.init()
}

我将其更改为:

代码语言:javascript
复制
convenience init() {
    self.init()
}

我在想,苹果对便利性的要求比以前更严格了。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29531133

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档