首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Swift NSViewController

Swift NSViewController
EN

Stack Overflow用户
提问于 2014-09-14 14:24:15
回答 2查看 791关注 0票数 0

我对可可和迅捷很陌生,我正在尝试创建一个定制的ViewController。

代码语言:javascript
复制
class StatusUpdate : NSViewController {

  @IBOutlet var StatusView: NSView!
  @IBOutlet var eventsFoundCell: NSTextFieldCell!

  @IBAction func update(sender: AnyObject) {
      StatusView.hidden = false
      eventsFoundCell.stringValue = "A"
  }
}

如上面所示,代码正在按您的预期工作。但是我想要做的是在该类中添加一个其他函数,例如:

代码语言:javascript
复制
  func otherUpdate() {  
    eventsFoundCell.stringValue = "B"
  }

以更新stringValue变量的eventsFoundCell。所以我可以在另一堂课上叫它:

代码语言:javascript
复制
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)

你觉得我能做到吗?

谢谢!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-09-14 17:22:43

这是因为在这一行

代码语言:javascript
复制
 var update = StatusUpdate()

您正在创建StatusUpdate的一个新实例。变量StatusView不绑定到任何NSView。

票数 1
EN

Stack Overflow用户

发布于 2014-12-04 11:40:12

你已经得到了答案,所以这只是推荐。它将使你的可可生活方式更容易,如果你遵循既定的惯例。因此,与其:

代码语言:javascript
复制
@IBOutlet var StatusView: NSView!

你应该写

代码语言:javascript
复制
@IBOutlet var statusView: NSView!

在Cocoa中有很多情况,为了使框架工作,假定了适当的大写(和一般的风格)。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25834264

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档