我正在创建一个应用程序,其中我有几个实体,现在我需要动态过滤第三个组合框的内容。我更好地解释自己。我有3个组合框(建筑物,楼层和部门),我想首先向我展示所有建筑物,但第二个应该只显示在建筑物的计划之前选择,最后我应该只选择建筑物的部门以及你选择的计划。我怎样才能做到这一点?为了简化附上一些照片。
答案 0 :(得分:0)
如果对Core Data使用单次提取请求,则只需向下钻取谓词。
但是,您的关系设置不正确。例如,edificio
中有Particelle
个属性。如果它引用了一个建筑物,它应该是{em>关系到Edifici
对象,而不是某种外键。 Core Data中没有外键,只是关系。
如果你这样做,使用NSFetchedResultsController
一切都变得容易了。您现在可以简单地遍历对象图,而无需任何特定的提取。
该计划可能是这样的(可能需要更改顺序):
Anno <--->> Particella <---->> Edificio <---->> AreaRischio
现在您可以简单地告诉获取的结果控制器开始获取所有Anno
个实体。然后用简单的点表示法向下钻取:
NSSet *listForNextTable = selectedAnnoObject.particelle;
并进一步
NSSet *listForNextTable = selectedParticellaObject.edifici;
等。你知道,它变得非常简单。