【发布时间】:2018-04-12 09:41:28
【问题描述】:
来自 WPF 的以下问题总是一件容易的事:
- 我有一个名为 baseClass 的类,它有两个名为 子类 A 和子类 B。
- 我的视图控制器有一个名为 [baseClass] 类型的对象和名为 selectedObject 的属性 输入 baseClass。
- 由于 subClassA 和 B 派生自 baseClass,我可以将这两种类型的实例放入数组对象和 selectedObject 属性中。
现在我要制作一个用于编辑这些类的 UI。它由以下内容组成:
- 一个使用 NSArrayController 获取对象数组的 NSPopupButton。
- 编辑名为 name 的属性的文本框,在 baseClass 中声明。
- 编辑名为 nickName 的属性的文本框,在 subClassB 中声明。
我已经实现了在弹出按钮中显示对象数组的内容并将选择绑定到 ViewController 的 selectedObject。此外,我插入了一个文本字段并连接了所有内容,以便 name 属性正常工作 (self.ViewController.selectedObject.name)。
但是如何将第二个文本字段绑定到 nickName 属性而不会崩溃?由于 nickName 仅在 subClassB 上可用,必须做些什么才能使绑定仅在“选择” subClassB 实例时才被评估?是否应该通过隐藏/启用绑定来切换?
感谢您的帮助!
【问题讨论】:
标签: swift cocoa cocoa-bindings