基于核心数据文档的基于选择的多个笔尖
我正在构建一个基于核心数据文档的应用程序。在应用程序中有一个主视图(NSTableView)和一个检查器视图。两个视图都是单独的 nib 文件。检查器视图的内容应取决于主视图中所选的行。我有三个控制器文件:
- DocumentWindowController (主控制器)
- ItemsViewController (主视图)
- SchedulesViewController (检查器的一部分)
每个控制器都拥有一个 nib 文件。当用户选择主视图表中的另一行时,如何更改检查器的内容?
我试图让它工作如下:
- 每个控制器都有它自己的 NSArrayController,它是在 DocumentWindowController 中设置的。 DocumentWindowController 从 [[self document] ManagedObjectContext] 获取其 ManagedObjectContext
- 当用户单击 ItemsViewController 的 tableView 中的一行时,会发布一个 NSNotification,并以 [NSTableView selectedRow] 作为参数。然后正在发出获取请求。
我的直觉告诉我必须使用 Cocoa 绑定来做到这一点。 我在 Stackoverflow 和 google 上搜索过,但我就是无法让它工作。如果所有内容都在一个 nib 文件中,那么很容易完成。实现这一目标的最佳/最常用方法是什么?
提前致谢!
I'm building a Core Data document based application. In the app there's a main view (NSTableView) and an inspector view. Both views are separate nib files. The content of the inspector view should depend on the selected row in the main view. I have three controller files:
- DocumentWindowController (master controller)
- ItemsViewController (main view)
- SchedulesViewController (part of the inspector)
Every controller owns a nib file. How is it possible to change the content of the inspector when the user selects another row in the main view's table?
I tried to make it work as follows:
- Every controller has it's own NSArrayController, which is set up in the DocumentWindowController. The DocumentWindowController gets its managedObjectContext from [[self document] managedObjectContext]
- When a user clicks a row in the ItemsViewController's tableView, an NSNotification is posted, with [NSTableView selectedRow] as a parameter. Then a fetch request is being made.
My intuition says I have to do this with Cocoa bindings.
I searched on Stackoverflow and google but I just can't make it work. If everything is in one nib file is very easy to accomplish. What is the best/most used way to achieve this?
Thanks in advance!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
您可以遵循与表视图相同的范例,并为检查器视图创建数据源。
然后,您的检查器视图控制器会将数据源作为属性。
You could follow the same paradigm as the table view and create a data source for your inspector view.
Your inspector view controller would then have the data source as a property.