gpt4 book ai didi

swift - 尝试访问 cocoa 类的子类的类的属性会出现运行时错误

转载 作者:行者123 更新时间:2023-11-30 13:23:25 25 4
gpt4 key购买 nike

我制作了一个继承自 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!"
}
}

}

请注意,当我仅使用父类(super class)(NSButton)中声明的方法时,我没有任何问题。有什么问题?我应该做什么来修复它?

最佳答案

您必须在 InterfaceBuilder 中正确设置按钮的类。它可能具有预定义的值集,即 NSButton。您必须将其设置为MCButton

只有这样,您才能真正获得对这些 MCButton 之一的正确实例的引用。

关于swift - 尝试访问 cocoa 类的子类的类的属性会出现运行时错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37501852/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com