2

当用户双击一行时,我想要一个“详细视图”,我只是不确定如何将数据获取到 NSViewController,以便它可以显示内容。我正在使用 CoreData,但我想不出办法来做到这一点。

4

2 回答 2

1

可可绑定。
Apple 有一个关于在线创建 Master-Detail interface 的很棒的教程
如果您使用的是 Xcode 3.2,则屏幕截图有点过时,但并没有那么不同。

NSViewController 有一个代表对象属性,它允许你绑定到你当前显示的模型对象。

编辑: 好的。我的回答不是那么好,因为它只对了一半。
虽然它显示了如何在详细视图中绑定您的控件,但它没有提供有关如何将数组控制器的选择绑定到视图控制器的representedObject.
我会对这个问题的仅绑定解决方案感兴趣。

于 2010-01-12T08:16:06.810 回答
1

您需要在这里执行几个步骤:

  1. 确保表视图由 a 驱动,NSArrayController并且表视图的控制器(窗口控制器或视图控制器或其他)已NSArrayController绑定到 ivar,以便您访问它。

  2. 在您的表控制器中,将双击操作设置为控制器中的方法,并将目标设置为控制器。

  3. 在双击方法中,您可以通过请求-selectedObjectsfrom来访问该行NSArrayController,结果NSArray应该只有一个元素。

然后,您可以从那里创建您的详细视图或您想用它做的任何其他事情。您可以创建工作表并显示它,打开模式窗口等。

于 2010-01-14T05:29:56.367 回答