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

我正在为TimeSheet条目构建主从详细信息。

对于Master,我有一列tableView,它的绑定到: EmployeeController (使用Employee实体的NSArrayController), arrangedObjects 雇员姓名

我有一个detailController(另一个NSArrayController),它设置为NSMutableDictionary,其 contentSet 绑定到 EmployeeController 选择,< strong> employeeTimeSheet

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

现在一切正常,我可以从主表中选择一个Employee,并且Detail Table显示与该Employee关联的所有TimeSheet条目。我可以使用选定的Employee添加条目,一切正常。

我的问题是,我希望使用NSPopupButton而不是将tableView作为主视图,从而可以从中选择一个Employee并查看与该Employee相关的所有时间条目。

我已经尝试了内容,值,arrangedObjects,selectedObject(s)等的每种组合以及我拥有的控制器的每种组合,但是无法使NSPopupButton的行为类似于单列tableView。

我徒劳地搜索了此方面的更多信息,并多次阅读了绑定文档,但一直感到困惑。我觉得这应该相对简单,但是我似乎无法理解。在发布到这里之前,我已经花了将近两天的时间。

有人可以指出我要去哪里了吗?我会发布代码,但是看到它主要是IB东西,那真的不合适。

比利。

有帮助吗?

解决方案 2

好,我找到了。我知道在此发布后,我会立即发现它。

我将NSPopupButton content 绑定到 EmployeeController ,将 arrangedObjects contentValue 绑定到 EmployeeController >, arrangedObjects employeeName ,它是 selectedIndex EmployeeController selectionIndex 。/ p>

效果很好。

比利。

其他提示

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

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top