【问题标题】:How can I bind the text in a NSTextField to the value of a property on a controller using a storyboard?如何使用情节提要将 NSTextField 中的文本绑定到控制器上的属性值?
【发布时间】:2014-10-18 06:46:09
【问题描述】:

我有一个带有两个文本子视图的自定义视图,按照这个惊人的 ASCII 艺术排列,这并不重要:

/--------\
| lblOne |
| lblTwo |
\--------/

在我的控制器上,我有一个 Thingy 类型的属性:

class AwesomeController: NSViewController {
    var thingy: Thingy! = nil
}

Thingy 有两个感兴趣的属性:

class Thingy: NSObject {
    var one: String
    var two: String
}

我想在lblOne 的字符串值和thingy.one 以及lblTwo 的字符串值和thingy.two 之间建立一个绑定,必要时通过自定义视图类。

thingy 改变时,显然这两个文本字段也应该改变。 (换句话说,对于可可绑定,它应该表现正常。)


我认为这可能是学习 Swift 和我不熟悉 OS X 上的故事板的结合(上次我做可可开发时,它仍然是 xibs),但我不知道如何将这该死的东西联系起来。

【问题讨论】:

    标签: cocoa swift storyboard cocoa-bindings


    【解决方案1】:

    让绑定在 Swift 中工作需要两个额外的步骤:

    1. 所有的变量必须标有dynamic,例如:

      dynamic var one: String

    2. 您必须重新编译项目(使用 cmd+B,而不仅仅是在后台),以便 var 在 IB 中显示为选项

    【讨论】:

      猜你喜欢
      • 2015-03-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-01-12
      • 2014-03-04
      • 1970-01-01
      相关资源
      最近更新 更多