【问题标题】:Must call a designated initializer error必须调用指定的初始化器错误
【发布时间】:2017-09-27 03:50:13
【问题描述】:
import UIKit

class RightAnswerButtonClass: UIButton {

    var rightAnswer: Bool


    init() {
        super.init()
        rightAnswer = false

    }
    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }


}

我正在尝试创建一个自定义类按钮,其中变量“rightanswer”存储为布尔值。但是,当我尝试构建时,我收到错误“必须调用指定的初始化程序”

【问题讨论】:

  • 就像它在锡上所说的那样,这个错误意味着你没有调用你的超类的指定初始化程序。查看文档以找出UIButton 的指定初始化程序应该是什么。提示:不是init()

标签: swift class methods swift3 init


【解决方案1】:

未实现超类指定初始化的编译时错误。 由于 UIButton 的子类必须实现(覆盖)init(frame:CGRect)("Designated Initialiser for UIButton") 如下所示,

> override init(frame: CGRect) {
          super.init(frame: frame)
          rightAnswer = true
     }

【讨论】:

    猜你喜欢
    • 2018-05-16
    • 1970-01-01
    • 2014-09-29
    • 2021-11-18
    • 2016-03-11
    • 2016-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多