核心数据遍历具有NSArrayController内容集的实体?

时间:2011-11-02 03:12:44

标签: cocoa core-data cocoa-bindings nsarraycontroller

我在Core Data应用程序中有3个实体:

Projeto< - >> Servico< - >> Sessao (这些关系按照通常命名)。

Projeto.servico(对许多Projeto - > Servico)

Servico.projeto(与一个Servico相反 - > Projeto)

Servico.sessaoDoServico(对许多Servico - > Sessao)

Sessao.servicoDaSessao(与一个Sessao相反 - > Servico)

每个实体都连接到一个阵列控制器,如Apple Docs中的“部门和员工”。它在典型的Master中工作正常 - 详细信息配置。

现在我希望从所选项目中获取所有会话。 (Sessao和Projeto之间没有关系)

我正在尝试绑定SessionArrayController内容集来过滤会话但没有成功。

我怎样才能拥有所选项目的所有会话?

我为Session Class创建了一个属性,返回一个NSSet,我可以打印所需的会话,但我不知道,我怎么能用绑定来做。

-(NSSet *)sessoesDoProjeto{
NSSet *allSessions = [self.projeto.servico valueForKey:@"sessaoDoServico"];
NSLog(@"allSessions %@",allSessions);
return allSessions;
}

我可以使用上面的NSSet创建一个NSArrayController吗?

任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

我找到了解决方案,所以我发布了其他有同样问题的人。

我将SessionArrayController的内容数组(不是内容集)绑定到:

ServicoArrayController_by_Project.arrangedObjects.@unionOfSets.sessaoDoServico

它就像一个魅力!