扩展UIView时EXC_BAD_INSTRUCTION

时间:2014-06-04 14:46:12

标签: ios swift ios8

我正在尝试为我正在玩iOS8的键盘创建我自己的自定义视图类,当我创建一个扩展UIView的新类时,我崩溃时出现Thread 1: EXC_BAD_INSTRUCTION (code=EXC_I386_INVOP,subcode=0x0)错误加载键盘。错误显示在class KeyButton: UIView {行上,我正在努力进一步调试。我最初试图扩展UIButton,但这不起作用所以我将其更改为UIView而没有进一步的运气。

我知道Swift / iOS8会出现一些问题,但希望这是可以修复的!

修改

全班代码:

import UIKit

class KeyButton: UIView { /* This is where the app crashes, apparently */

    init(frame: CGRect) {
        super.init(frame: frame)
        // Initialization code
    }

    /*
    // Only override drawRect: if you perform custom drawing.
    // An empty implementation adversely affects performance during animation.
    override func drawRect(rect: CGRect)
    {
        // Drawing code
    }
    */

}

1 个答案:

答案 0 :(得分:3)

我最近遇到了类似的问题,但想出来了。事实证明,在iOS 8中,而不是iOS 7,需要initWithCoder(在Objective-C中)。您所要做的就是在课堂上添加以下内容:

init(coder aDecoder: NSCoder!)
{
    super.init(coder: aDecoder)
}

我希望有所帮助!