首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在iphone上模拟与coredata的左连接

如何在iphone上模拟与coredata的左连接
EN

Stack Overflow用户
提问于 2010-11-07 13:49:11
回答 2查看 811关注 0票数 1

我与coredata的两个实体合作:

  • worker
  • office

一个工人在一个(而且只有一个)办公室工作。

一间办公室被几个工人占用。

现在,我想用按office分组的工作人员填充一个TableView。这表示表视图:

第1部分: Office 1

..........Worker 1

..........Worker 2

..........Worker 3

第2节:办公室2(空)

第3款:办公室3

..........Worker 4

..........Worker 5

在SQL中,我可以使用以下查询:

代码语言:javascript
复制
SELECT *  
FROM office 
LEFT JOIN worker ON office.officeId = worker.officeId  
order by office.name, worker.name

现在处理核心数据,我面临一些问题:

如果我取到office,我可以作为一个集合访问工作人员(从关系),但这不适合于使用表视图(对于排序和manipulating)

  • If,我取工人并通过关系访问办公室,则不取空办公室。)

如何使用coredata获取这样的数据?

谢谢

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2010-11-09 15:14:34

我会取到办公室,然后简单地对设置的工作人员进行排序(按字母顺序,根据秩属性等),以便在表中显示。在Office实体类上创建一个方法来为工作人员返回一个排序数组可能是有意义的,例如:

代码语言:javascript
复制
@implementation Office

- (NSArray *)sortedWorkers
{
    return [self.workers sortedArrayUsingDescriptors:
            [NSArray arrayWithObjects:
             [NSSortDescriptor sortDescriptorWithKey:@"lastName" ascending:YES],
             [NSSortDescriptor sortDescriptorWithKey:@"firstName" ascending:YES],
             nil]];
}
票数 1
EN

Stack Overflow用户

发布于 2010-11-09 14:45:22

像你已经做过的那样,把你的员工找来,用办公室来做这些工作。空办公室不应显示在UITableView中,因为它与HIG背道而驰。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4117998

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档