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