Swift需要init NSCoder构造函数

时间:2014-11-21 06:29:54

标签: ios swift ios8 nscoder

我有以下类代表iOS 8自定义键盘中的按钮:

internal class KeyButton: UIButton {

    required init(char: Character) {
        super.init()
    }


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

由于未通过storyboard初始化KeyButton,因此永远不会调用构造函数(coder: NSCoder)

问题是我需要实现(coder: NSCoder)构造函数,当我运行应用程序时,我在实例化plugin interrupted时收到异常KeyButton

为什么我需要实现(coder: NSCoder)构造函数,尽管我以编程方式实例化所有内容

1 个答案:

答案 0 :(得分:1)

它与编码器无关。 UIButton的{​​{1}}来电init(),您尚未实施。添加以下内容,你应该好好去...

init(frame: CGRect)