我有两个窗口:窗口 A 从 NIB 加载;窗口 B 是通过编程方式创建的。
两个窗口都有一个 NStextView:窗口 A 中的 textview 的属性字符串使用 IBtext
绑定到模型的属性;而窗口 B 中的 textview 的属性字符串使用方法绑定到模型的属性。text
-[NSObject bind:toObject:withKeyPath:options:]
[textview bind:@"attributedString"
toObject:obj
withKeyPath:@"text"
options:nil];
这是奇怪的事情:Window B 中的 textview 确实绑定到obj.text
,但 textview 中的更改从未更新为obj.text
. 但是,如果我在窗口 A 的 textview 中进行了更改,则obj.text
窗口 B 中的和 textview 也会相应更新。
所以我在想,该-[NSObject bind:toObject:withKeyPath:options:]
方法仅适用于单向绑定。我在 Cocoa 文档中找不到明确的解释。有没有人有这个问题的经验?如何在代码中实现双向绑定?