cocoa - 如何使用 Storyboard将 NSTextField 中的文本绑定(bind)到 Controller 上的属性值?

标签 cocoa swift storyboard cocoa-bindings

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

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

在我的 Controller 上,我有一个 Thingy 类型的属性:

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

Thingy 有两个有趣的属性:

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

我想在 lblOne 的字符串值和 thingy.one 以及 lblTwo 的字符串值和thingy.two,必要时通过自定义 View 类。

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


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

最佳答案

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

  1. 所有变量都必须用dynamic标记,eg:

    动态变量一:字符串

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

关于cocoa - 如何使用 Storyboard将 NSTextField 中的文本绑定(bind)到 Controller 上的属性值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25480463/

相关文章:

objective-c - NSFontManager selectedFont 返回 null

ios - 这是运行通用方法的正确方法吗?

ios - Swift 从 GoogleMaps SDK for iOS 检索地点 ID

Swift 版本获取错误的像素数据,但 Object-c 版本使用方法 "CGBitmapContextCreate"从同一图像获取正确的像素数据

ios - 手动打开 Storyboard-view

ios - 如何通过约束调整此 View

c# - 来自外部 ResourceDictionary 的对象

c++ - Xcode 6 : Create pure C++ OpenGL application bundle (. 应用程序)不使用 "Cocoa Application"模板

cocoa - needsDisplay 触发无限 drawRect 循环

ios - 让用户快速登录ios应用程序