Ios 解析包含数组元素的对象

Ios 解析包含数组元素的对象,ios,objective-c,arrays,parse-platform,ios8,Ios,Objective C,Arrays,Parse Platform,Ios8,我有一个名为Recipes的解析对象和一个名为components的列,这是一个数组。我想查询我的对象列表,并根据我选择的一些成分检索一个配方 如果我在查询对象上使用whereKey:containsAllObjectsInArray:消息,我将得到含有更多成分的配方。另外,whereKey:containedIn:也不能解决我的问题。检索到的对象应该有一个成分数组,其中包含我选择的所有成分或其中的一部分。它不应该有比我选择的更多的成分 有什么想法吗?您可以对所有剩余的成分(该用户没有的成分)执

我有一个名为
Recipes
的解析对象和一个名为
components
的列,这是一个数组。我想查询我的对象列表,并根据我选择的一些成分检索一个配方

如果我在查询对象上使用
whereKey:containsAllObjectsInArray:
消息,我将得到含有更多成分的配方。另外,
whereKey:containedIn:
也不能解决我的问题。检索到的对象应该有一个成分数组,其中包含我选择的所有成分或其中的一部分。它不应该有比我选择的更多的成分


有什么想法吗?

您可以对所有剩余的
成分(该用户没有的成分)执行-
操作,其中key:notContainedIn:
。然后,用户将只获得他拥有的
配料。

您可以在配方表“数组计数”中添加一个额外的列,以显示配方中的配料数量。然后执行多重查询:

[query whereKey:ingredients containsAllObjectsInArray:ingredientsArray];
[query whereKey: arrayCount equalTo:[ingredientsArray count]];

这样的话,你只会退回相同数量的成分和你列出的所有成分。

从逻辑角度看,这没有什么意义。。。为什么你必须指定所有成分才能得到配方?我想检索我可以使用一些成分制作的配方(当时在我的房子里有)。我不想检索任何需要比我当前可用成分更多成分的配方。你难道不能获取该成分集的所有结果,然后使用一些逻辑过滤掉应用程序中含有额外成分的配方吗?这是一个有效的解决方法,但我不想通过网络发送所有成分(因为它们太多了,我不想让我的应用程序徒劳地使用互联网数据)。太好了,是的,解析有一些奇怪的限制。通常意味着你必须找到一种方法来改变你的数据模型。很高兴我能帮上忙!