我对可可和迅捷很陌生,我正在尝试创建一个定制的ViewController。
class StatusUpdate : NSViewController {
@IBOutlet var StatusView: NSView!
@IBOutlet var eventsFoundCell: NSTextFieldCell!
@IBAction func update(sender: AnyObject) {
StatusView.hidden = false
eventsFoundCell.stringValue = "A"
}
}如上面所示,代码正在按您的预期工作。但是我想要做的是在该类中添加一个其他函数,例如:
func otherUpdate() {
eventsFoundCell.stringValue = "B"
}以更新stringValue变量的eventsFoundCell。所以我可以在另一堂课上叫它:
var update = StatusUpdate()
update.otherUpadte()在n个其他类中调用update.otherUpadte()时,
我总是会犯这样的错误:
Thread1: EXC_BAD_INSTRUCTION(code=EXC_1386_INVOP, subcode=0x0)
fatal error: unexpectedly found nil while unwrapping an Optional value (lldb)
你觉得我能做到吗?
谢谢!
发布于 2014-09-14 17:22:43
这是因为在这一行
var update = StatusUpdate()您正在创建StatusUpdate的一个新实例。变量StatusView不绑定到任何NSView。
发布于 2014-12-04 11:40:12
你已经得到了答案,所以这只是推荐。它将使你的可可生活方式更容易,如果你遵循既定的惯例。因此,与其:
@IBOutlet var StatusView: NSView!你应该写
@IBOutlet var statusView: NSView!在Cocoa中有很多情况,为了使框架工作,假定了适当的大写(和一般的风格)。
https://stackoverflow.com/questions/25834264
复制相似问题