此文本字段的 Cocoa 绑定 "model key path" 是什么?

What would be the Cocoa binding "model key path" for this textfield?

这是一款专注于学习 Cocoa 绑定的应用程序。它基于文档并使用故事板。

初始控制器是 TestWindowController,它与 TestViewController 有 'window content' 关系。

TestViewController 有一个视图,我在其中放置了一个名为 "name" 的 NSTextField。这是一个连接到 TestViewController 的 IBOutlet。

应用程序目标指定了一个文档类型,其 class 是 TestDocument。

我的 TestDocument class 有一个 public 属性 的 NSString *name;

在 IB 中,在“实用程序”窗格中打开“绑定”面板并选择 NSTextField 的情况下,我选中了 "Bind to:" 并从弹出窗口中选择了 "Test View Controller"。但是在 Model Key Path 字段中,我似乎无法找到一条返回到 TestDocument."name" 属性 的路径。

我原以为我们可以在 UI 元素和模型 属性 之间创建绑定。但也许我会以错误的方式解决这个问题? UI 元素的模型关键路径是否应该指向对象控制器,对象控制器又拥有自己的文档绑定? (我可以看出这在现实世界中很有用,因为单个 UI 元素可能会影响多个模型 属性,但我试图让这个比在这点)。

测试应用程序的目的是帮助我在比 examples/tutorials/Q&A 更真实的设置(基于文档的多视图控制器支持 window 中的视图)中学习绑定我倾注了。

我尝试使用 IB 在“模型关键路径”字段中提供的上下文菜单构建模型关键路径,其中包括: 文件。 (当我开始输入 "document" 时,上下文菜单会提示完整的拼写,所以我点击 Tab 键接受建议并继续编辑,然后当我点击句点键时,上下文菜单会显示一个空菜单——我会如果我正在构建正确的模型关键路径,我预计 TestDocument 模型上的 public 属性会出现。但这似乎是正确的方向,比其他 "try this" 努力更重要:

view.window.contentViewController. 这看起来像是一条死胡同。 view.superview.window.windowController.docu -- 不:上下文菜单不建议在 windowController 的路径中有文档 等等

我一直在这样推理:我选择了一个 UI 元素,所以 "Model Key Path" 将是通往模型 [=57= 的键名路径].如果 "document" 可以开始路径,那就太好了,但我认为 UI 元素没有文档的概念。在这个上下文中,第一个知道文档的地方是 WindowController,所以到 "leave" UI 元素并进入我的 TestWindowController,我会去

视图 -> 超级视图 -> window -> window控制器 -> 文档

但我的文件没有显示路径中 window 控制器之后的文档。

那么模型关键路径是什么?

您需要逐步从文本视图升级到文档。

复选框 "Bind to:" 应设置为 "View Controller"。

"Model Key Path" 设置为:view.window.windowcontroller.document.yourmodelobject