具有多个详细信息表视图(如 Mail.app)的主详细信息界面

发布于 2025-01-02 15:11:48 字数 310 浏览 0 评论 0原文

我有一个 Cocoa 应用程序,其布局与 Mail.app 类似:

  • 左侧的源列表,用户可以在其中选择多个条目之一
  • 主内容区域中的详细表视图显示基于左侧所选项目的

列表希望为每个主项目单独维护明细表视图中的选择。

目前我只有一个详细信息表视图和一个数组控制器。当主选择发生更改时,我会更新详细信息数组控制器的 contents 绑定。

我想我可能需要多个详细数组控制器——主列表中的每个条目一个。

有没有更简单的方法/推荐模式来做到这一点?

I have a Cocoa app with a similar layout like Mail.app:

  • A source list on the left where the user can select one of multiple entries
  • A detail table view in the main content area showing a list based on the selected item on the left

I'd like the selection in the detail table view to be maintained separately for each master item.

Currently I have only one detail table view and one array controller. When the master selection changes, I update the contents binding for the detail array controller.

I think I may need multiple detail array controllers -- one for each entry in the master list.

Is there an easier way/recommended pattern to do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

许一世地老天荒 2025-01-09 15:11:48

每个表都需要一个数组控制器。对于每个详细数组控制器,您需要将 contents 绑定到主数组控制器的 selectedObjects 键。

因此,如果您有三个数组控制器:masterdetail1detail2,则 content 绑定应该使用selectedObjects关键路径将detail1设置为master

detail2content 绑定应设置为 detail1,同样使用 selectedObjects 的键路径。

您无需以编程方式更改 contents 绑定。

You need an array controller for each table. For each detail array controller, you need to bind the contents binding to the selectedObjects key of the master array controller.

So if you had three array controllers, master, detail1 and detail2, then the content binding of detail1 should be set to master using a key path of selectedObjects.

The content binding of detail2 should be set to detail1, also using a key path of selectedObjects.

You don't need to change the contents binding programmatically.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文