在单个 NSTableView (Core-Data) 中显示来自多个实体的数据
Posted
技术标签:
【中文标题】在单个 NSTableView (Core-Data) 中显示来自多个实体的数据【英文标题】:Displaying data from multiple entities in a single NSTableView (Core-Data) 【发布时间】:2009-11-20 23:03:34 【问题描述】:我有一个名为 Pupil 的实体和一个名为 Loan 的实体。 Pupil 实体具有以下属性:firstName、lastName、address、postCode、telephoneNumber。 Loan 实体具有属性:loanID,关系:tutorialID,即与实体 Pupil 的关系。
我希望在表格中显示loanID,以及与loanID 相关的学生(如果有)。 例如:
LoanID | firstName | lastName | address | postCode | telephoneNumber
1 | bob | smith | 98 Any Road | N1 1QW | 0123456789
我该怎么做呢?我目前正在为我的其他表使用绑定。
谢谢!
【问题讨论】:
在表格中包含更多与地址相关的字段可能会有所帮助,因为学生可能会搬到另一个城市、州或国家。或者,换一种方式,让用户输入所有这些内容和邮政编码作为地址的一部分。 是的,我通常会这样做,但是对于这个特定的程序,所有用户都必须在某个自治市镇内才能成为会员,一旦他们离开,他们就不能再成为会员。不过感谢您的提示! 【参考方案1】:假设您已为 pupilID
设置反向关系(即从瞳孔到贷款的关系),您可以执行此操作。如果您将该关系称为loan
,并将NSArrayController
、PupilsController
绑定到Pupils 集合,那么您的第一个表可以绑定到PupilsController.arrangedObjects.loan.loadID
,而您的其他列可以按照您的预期绑定。
在纯粹的风格方面,pupilID
属性更适合命名为pupil
。 Core Data 不再是 ORM,您也不再处于 SQL JOIN 领域。将属性命名为它们是什么,而不是 Core Data 如何在后台实现它们。
【讨论】:
感谢您的帮助!我也会改变关系名称!以上是关于在单个 NSTableView (Core-Data) 中显示来自多个实体的数据的主要内容,如果未能解决你的问题,请参考以下文章