我创建了一个继承自NSButton
的自定义按钮类型(类),并且还有一些其他方法,但是当我尝试访问我自己声明的方法时,我遇到了运行时错误。这是我的代码:
import Cocoa
class MCButton: NSButton {
func testFunc()->Bool {
return true
}
}
class ViewController: NSViewController {
@IBOutlet weak var button: MCButton!
override func viewDidLoad() {
super.viewDidLoad()
if button.testFunc() { //Thread 1: EXC_BAD_ACCESS(code=2, address=0x608000264600)
button.title = "Hi!"
}
}
}
请注意,当我只使用超类(NSButton
)中声明的方法时,我不会遇到任何问题。问题是什么?我该怎么做才能解决它?
答案 0 :(得分:0)
您必须在InterfaceBuilder中正确设置按钮的类。它可能具有预定义的值集,即NSButton
。您必须将其设置为MCButton
。
只有这样,您才能真正获得对其中一个MCButton
的正确实例的引用。