我正在使用coredata中的2个实体:
工人在一个(也是唯一一个)办公室工作 一个办公室被几名工人占用。
现在我想用工作人员填充TableView,按办公室分组。这代表表格视图:
第1节:办公室1 ..........工人1 ..........工人2 ..........工人3 第2节:办公室2(空)
第3节:办公室3
..........工人4 ..........工人5
在SQL中我可以使用此查询:
SELECT *
FROM office
LEFT JOIN worker ON office.officeId = worker.officeId
order by office.name, worker.name
现在使用核心数据,我遇到了一些问题:
如何使用coredata获取此类数据?
由于
答案 0 :(得分:1)
获取您的工作人员并使用您已经完成的部分的办公室。空办公室不应该在UITableView
中显示,因为它与HIG相反。
答案 1 :(得分:1)
我会取出办公室,然后简单地对工作人员进行排序(按字母顺序排列,根据等级属性等)以便在表格中显示。在Office实体类上创建一个方法来为工作者返回一个排序数组可能是有意义的,例如:
@implementation Office
- (NSArray *)sortedWorkers
{
return [self.workers sortedArrayUsingDescriptors:
[NSArray arrayWithObjects:
[NSSortDescriptor sortDescriptorWithKey:@"lastName" ascending:YES],
[NSSortDescriptor sortDescriptorWithKey:@"firstName" ascending:YES],
nil]];
}