我有兩個窗口:窗口A從NIB加載;並且窗口B以編程方式創建。bind:toObject:withKeyPath:options:是單向綁定嗎?
這兩個窗口都有一個NStextView:窗口A中textview的屬性字符串綁定到使用IB的模型的屬性text
;而使用-[NSObject bind:toObject:withKeyPath:options:]
方法將Window B中textview的屬性字符串綁定到text
屬性。
[textview bind:@"attributedString" toObject:obj withKeyPath:@"text" options:nil];
這裏是奇怪的事情:在窗口B中的TextView的確被綁定到obj.text
,但在TextView的變化永遠不會更新到obj.text
。但是,如果我在窗口A的文本視圖中進行更改,則窗口B中的obj.text
和textview會相應更新。
所以我在想,-[NSObject bind:toObject:withKeyPath:options:]
方法只適用於單向綁定。我在Cocoa文件中找不到明確的解釋。有沒有人有這個問題的經驗?你如何在代碼中實現雙向綁定?
這仍然不適用於我。我在這裏找到了答案(對於我的案例) - > http://stackoverflow.com/questions/1169097/can-you-manually-implement-cocoa-bindings – 2013-06-24 21:43:34
我不確定上述鏈接問題的相關性。這裏提到的綁定是在兩個NSControl對象之間 - 不需要自定義綁定實現。 – stevesliva 2014-03-27 20:26:32