【发布时间】:2013-02-08 14:59:53
【问题描述】:
我有两个窗口:窗口 A 从 NIB 加载;窗口 B 是通过编程方式创建的。
两个窗口都有一个 NStextView:窗口 A 中 textview 的 attributesString 绑定到 使用 IB 的模型的属性 text;而窗口 B 中 textview 的 attributesString 使用 -[NSObject bind:toObject:withKeyPath:options:] 方法绑定到模型的 text 属性。
[textview bind:@"attributedString"
toObject:obj
withKeyPath:@"text"
options:nil];
奇怪的是:Window B 中的 textview 确实绑定到了obj.text,但是 textview 中的更改从未更新为obj.text。但是,如果我对 Window A 的 textview 进行了更改,则 obj.text 和 Window B 中的 textview 也会相应地更新。
所以我在想,-[NSObject bind:toObject:withKeyPath:options:] 方法仅适用于单向绑定。我在 Cocoa 文档中找不到明确的解释。有没有人有这个问题的经验?如何在代码中实现双向绑定?
【问题讨论】:
标签: cocoa binding cocoa-bindings nstextview