gpt4 book ai didi

objective-c - 将 NSSet 中的对象与 NSArray 中的对象进行比较

转载 作者:搜寻专家 更新时间:2023-10-30 20:04:22 25 4
gpt4 key购买 nike

我一直在思考这个问题一段时间,但我还没有得到一个简洁高效的解决方案。

问题:

我有一个食谱列表,它是一个 NSArray,每个食谱对象都包含作为 NSSet 对象的成分。数据是一对多关系,来自核心数据。现在有另一个 NSArray 列表,其中包含特定人当前拥有的项目(成分)。

现在我必须以某种方式比较用户当前拥有的元素与食谱中的成分,并在表格 View 中推荐用户食谱,其中包含所有元素存在、1 件缺失、2 件缺失和 3 件缺失等部分。

你们认为我应该如何解决这个问题。我尝试了一些方法,但每次都以失败告终。

任何帮助/指点将不胜感激

最佳答案

NSSet 中有一些有趣的方法:

  • + (id)setWithArray:(NSArray *)array 将允许您快速将数组转换为集合。

  • - (BOOL)isSubsetOfSet:(NSSet *)otherSet 将允许您找到可能的食谱。

  • - (BOOL)intersectsSet:(NSSet *)otherSet 将允许您找到至少包含一种匹配成分的食谱。

  • - (NSSet *)objectsPassingTest:(BOOL (^)(id obj, BOOL *stop))predicate 可以让您找到匹配的成分计数,使用适当的谓词,类似于“我的数组中有对象吗?”

关于objective-c - 将 NSSet 中的对象与 NSArray 中的对象进行比较,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4088649/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com