2010-11-03 131 views
3

我一直在思考這個問題一段時間了,但我現在還無法獲得一個很好的簡潔有效的解決方案。將NSSet中的對象與NSArray中的對象進行比較

問題:

我有一個配方列表這是一個NSArray,每配方對象包含成份的NSSet對象。數據是一對多關係&來自coredata。 現在有另一個列表NSArray包含一個特定的人目前有物品(成分)。

現在我必須以某種方式比較當前目前的項目,哪些用戶與食譜配料&建議在表視圖中的用戶食譜與所有項目存在,1項失蹤,兩項失蹤和三項失蹤部分。

你們是怎麼想我應該解決這個問題的。 我已經嘗試了幾件事情,但最終每次都變得更加迷茫。

任何幫助/指針將不勝感激

回答

5

你有NSSet中有趣的方法:

  • + (id)setWithArray:(NSArray *)array將允許您快速轉換你的陣列設置。

  • - (BOOL)isSubsetOfSet:(NSSet *)otherSet將允許您找到可能的食譜。

  • - (BOOL)intersectsSet:(NSSet *)otherSet將允許您找到至少有一種匹配成分的食譜。

  • - (NSSet *)objectsPassingTest:(BOOL (^)(id obj, BOOL *stop))predicate可以讓你找到匹配的成分數,用適當的謂詞,這就像'是我的數組中的對象?'。

相關問題