Asa*_*han 3 comparison core-data objective-c nsarray nsset
我一直在思考这个问题已有一段时间了,但我还是无法得到一个简洁有效的解决方案.
问题:
我有一个配方列表,它是一个NSArray,每个配方对象包含NSSet对象的成分.数据是一对多的关系,来自coredata.现在还有另一个列表NSArray,其中包含特定人员当前拥有的项目(成分).
现在我必须以某种方式比较当前用户具有食谱中的成分的项目,并在表格视图中推荐用户食谱,其中包括所有项目,缺少1个项目,缺少两个项目和缺少三个项目等部分.
你们怎么认为我应该解决这个问题.我尝试了一些东西但最终每次都失去了更多.
任何帮助/指针将受到高度赞赏
你在NSSet中有一些有趣的方法:
+ (id)setWithArray:(NSArray *)array 将允许您快速将数组转换为设置.
- (BOOL)isSubsetOfSet:(NSSet *)otherSet 将允许您找到可能的食谱.
- (BOOL)intersectsSet:(NSSet *)otherSet 将允许您找到至少有一种匹配成分的食谱.
- (NSSet *)objectsPassingTest:(BOOL (^)(id obj, BOOL *stop))predicate 可以让你找到匹配的成分计数,使用正确的谓词,这就像'我的数组中的对象?'