【问题标题】:comparing objects in NSSet with objects in NSArray比较 NSSet 中的对象和 NSArray 中的对象
【发布时间】:2011-05-04 13:41:58
【问题描述】:

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

问题:

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

现在我必须以某种方式将用户当前拥有的项目与食谱中的成分进行比较,并在表格视图中推荐用户食谱,其中包含所有项目、1 项缺失、2 项缺失和 3 项缺失等部分。

你们认为我应该如何解决这个问题。 我尝试了一些事情,但每次我都会迷失方向。

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

【问题讨论】:

    标签: objective-c core-data comparison nsarray nsset


    【解决方案1】:

    你在 NSSet 中有有趣的方法:

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

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

    • - (BOOL)intersectsSet:(NSSet *)otherSet 可让您找到至少含有一种匹配成分的食谱。

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

    【讨论】:

      猜你喜欢
      • 2011-01-24
      • 1970-01-01
      • 2013-04-01
      • 1970-01-01
      • 1970-01-01
      • 2013-12-22
      • 2014-07-28
      • 2010-10-07
      • 2018-11-03
      相关资源
      最近更新 更多