当用户双击一行时,我想要一个“详细视图”,我只是不确定如何将数据获取到 NSViewController,以便它可以显示内容。我正在使用 CoreData,但我想不出办法来做到这一点。
问问题
805 次
2 回答
1
可可绑定。
Apple 有一个关于在线创建 Master-Detail interface 的很棒的教程。
如果您使用的是 Xcode 3.2,则屏幕截图有点过时,但并没有那么不同。
NSViewController 有一个代表对象属性,它允许你绑定到你当前显示的模型对象。
编辑:
好的。我的回答不是那么好,因为它只对了一半。
虽然它显示了如何在详细视图中绑定您的控件,但它没有提供有关如何将数组控制器的选择绑定到视图控制器的representedObject
.
我会对这个问题的仅绑定解决方案感兴趣。
于 2010-01-12T08:16:06.810 回答
1
您需要在这里执行几个步骤:
确保表视图由 a 驱动,
NSArrayController
并且表视图的控制器(窗口控制器或视图控制器或其他)已NSArrayController
绑定到 ivar,以便您访问它。在您的表控制器中,将双击操作设置为控制器中的方法,并将目标设置为控制器。
在双击方法中,您可以通过请求
-selectedObjects
from来访问该行NSArrayController
,结果NSArray
应该只有一个元素。
然后,您可以从那里创建您的详细视图或您想用它做的任何其他事情。您可以创建工作表并显示它,打开模式窗口等。
于 2010-01-14T05:29:56.367 回答