2010-11-03 4 views
3

Je réfléchis à ce problème depuis un moment maintenant mais je ne suis pas encore capable d'obtenir une solution efficace et concise.Comparer des objets dans NSSet avec des objets dans NSArray

Problème:

J'ai une liste de recettes qui est un NSArray, chaque objet de recette contient des ingrédients comme des objets nsset. Les données sont une à plusieurs relation & vient de coredata. Maintenant, il existe une autre liste NSArray qui contient des éléments (ingrédients) d'une personne en particulier.

Maintenant, je dois comparer les éléments actuellement présents que l'utilisateur a avec les ingrédients dans les recettes & recommander des recettes utilisateur dans une vue de table avec des sections comme tous les éléments présents, 1 élément manquant, deux éléments manquants et trois éléments manquants.

Comment pensez-vous que je devrais aborder ce problème. J'ai essayé plusieurs choses mais je finis par être encore plus perdu à chaque fois.

Toute aide/pointeurs sera très appréciée

Répondre

5

Vous avez des méthodes intéressantes NSSet:

  • + (id)setWithArray:(NSArray *)array vous permettra de convertir rapidement votre tableau pour définir.

  • - (BOOL)isSubsetOfSet:(NSSet *)otherSet vous permettra de trouver des recettes possibles.

  • - (BOOL)intersectsSet:(NSSet *)otherSet vous permettra de trouver des recettes avec au moins un ingrédient correspondant.

  • - (NSSet *)objectsPassingTest:(BOOL (^)(id obj, BOOL *stop))predicate- (NSSet *)objectsPassingTest:(BOOL (^)(id obj, BOOL *stop))predicate peut vous permettre de trouver les ingrédients correspondants, avec le bon prédicat, qui est quelque chose comme «est un objet dans mon tableau?

Questions connexes