我的OS X应用程序有AppDelegate
,其中包含:
- 托管对象上下文和
- NSArrayController(来自MainMenu.xib)
a MainMenu.xib
with:
- NSArrayController,
- 用于显示所有对象的TableView和
- 一组TextFields,用于显示所选对象的详细信息。
一切都通过Bindings连接起来,效果非常好。
我想为其中一个细节添加一个带TextView的单独窗口(注释)。
只要我将带有TextView的单独窗口添加到MainMenu.xib并通过Bindings连接所有内容,当然没有问题。
但我想制作一个单独的NSWindowController和XIB,
- NotesPanelController
和
- NotesPanel.xib
。
我将一个NSArrayController属性(arrayController)添加到NotesPanelController,然后使用来自AppDelegate的arrayController对其进行初始化。现在,我使用以下模型关键路径将NotesPanel.xib中的TextView绑定到File's Owner
:self.arrayController.selection.notes
。
当TableView(以及此ArrayController)选择在主窗口中更改时,TextView不再更新。我的设置有什么问题?
更新: 我发现,问题不在于,没有观察到选择,但是我的笔记面板中对文本视图的更改没有得到提交。当我在NSTextView的值绑定中不断更新值时,一切正常。但这是否可以接受?