我希望有一个'详细信息视图',当用户双击一行时,我只是不确定如何将数据提供给NSViewController,因此它可以显示内容。我正在使用CoreData,我想不出办法做到这一点。
答案 0 :(得分:1)
可可绑定。
Apple在网上有很棒的tutorial about creating Master-Detail interface
如果您使用Xcode 3.2,屏幕截图有点过时,但它并没有那么不同。
NSViewController具有representedObject属性,允许您绑定到当前显示的模型对象。
修改强>
好。我的答案并不那么好,因为这只是事实的一半
虽然它显示了如何在详细信息视图中绑定控件,但它没有提供有关如何将数组控制器的选择绑定到视图控制器的representedObject
的解决方案。
我会对这个问题的仅绑定解决方案感兴趣。
答案 1 :(得分:1)
您需要执行以下几个步骤:
确保表视图由NSArrayController
驱动,并且表视图的控制器(窗口控制器或视图控制器或其他)具有NSArrayController
绑定的值一个ivar,以便你访问它。
在您的表格控制器中,将双击操作设置为控制器中的方法,并将目标设置为控制器。
在双击方法中,您可以通过-selectedObjects
请求NSArrayController
来访问该行,并且生成的NSArray
中只应包含一个元素。
然后,您可以在此处创建详细视图或其他任何您想要使用它的内容。您可以创建工作表并显示它,打开模态窗口等。