0

我正在创建一个应用程序,其中有多个实体,现在我需要动态过滤第三个组合框的内容。我更好地解释自己。我有 3 个组合框(建筑物、楼层和部门),我想首先显示包含的所有建筑物,但第二个应该只显示在建筑物计划之前选择的,最后一个我应该只选择建筑物的部门以及您选择的计划。我怎样才能做到这一点?为了简化附加一些照片。

在此处输入图像描述

在此处输入图像描述

在此处输入图像描述

4

1 回答 1

0

如果您对 Core Data 使用单个 fetch 请求,您只需使用谓词向下钻取。

但是,您的关系设置不正确。例如, 中有一个edificio属性Particelle。如果它指的是建筑物,它应该是与对象的关系Edifici而不是某种外键。Core Data 中没有外键,只有关系。

如果你这样做,使用NSFetchedResultsController. 您现在可以简单地遍历对象图而无需任何特定的获取。

该方案可能是这样的(可能需要更改顺序):

Anno <--->> Particella <---->> Edificio <---->> AreaRischio

现在您可以简单地告诉 fetched results 控制器开始获取所有Anno实体。然后你用简单的点符号向下钻取:

NSSet *listForNextTable = selectedAnnoObject.particelle; 

并进一步与

NSSet *listForNextTable = selectedParticellaObject.edifici;

等等。你看,它变得非常简单。

于 2012-11-26T15:28:26.913 回答