在Master-Detail中使用弹出按钮

时间:2011-02-04 08:41:59

标签: core-data binding nsarraycontroller master-detail nspopupbutton

我的基于文档的核心数据应用程序(使用IB中的绑定)有两个实体,员工(具有 employeeName 属性)和 TimeSheet (使用 timeDescription entryDate 属性)。 员工时间表有一个( employeeDetails ) - 多人( employeeTimeSheet )关系。

我正在为TimeSheet条目构建Master-Detail设置。

对于Master我有一个一列tableView,它的绑定到: EmployeeController (一个使用Employee实体的NSArrayController), arrangeObjects < / strong>, employeeName

我有一个detailController(另一个NSArrayController),它被设置为NSMutableDictionary,它的 contentSet 绑定到 EmployeeController 选择 employeeTimeSheet

然后我有Detail tableView,它有三列,各自的绑定到 DetailController arrangeObjects employeeDetails.employeeName (第0列), entryDate (第1列)和 timeDescription (第2列)。

现在一切正常,我可以从主表中选择一个员工,详细信息表显示与该员工关联的所有TimeSheet条目。我可以使用所选的员工添加条目,一切都很好。

我的问题是,我没有将tableView作为主视图,而是想要一个NSPopupButton,我可以从中选择一个Employee并查看与该Employee关联的所有时间条目。

我已尝试将内容,值,arrangeObjects,selectedObject等的每个组合与我拥有的每个控制器组合,但无法使NSPopupButton以与单列tableView类似的方式运行。

我徒劳地搜索了有关这方面的更多信息,并多次阅读绑定文档,但只是不断混淆。我觉得这应该相对简单,但我似乎无法得到它。在张贴到这里之前,我已经绞尽脑汁将近两天了。

有谁可以指出我哪里出错了?我会发布代码,但这并不适合看到它主要是IB的事情。

比利。

2 个答案:

答案 0 :(得分:1)

顺便说一句:detailController将“自动”填充新的员工对象。确保将“managedObjectContext”设置为同一个控制器(employeeController)。

答案 1 :(得分:0)

好的,我找到了。我知道在这里张贴之后我会马上发现它。

我将NSPopupButton 内容绑定到 EmployeeController arrangeObjects contentValue EmployeeController arrangeObjects employeeName selectedIndex EmployeeController selectionIndex 。< / p>

效果很好。

比利。