2011-12-20 7 views
74

का उपयोग करते हुए एनएसएआरआरएआर है, मेरे पास एक एनएसएआरआरई है कि मैं एनएसपी्रेडिकेट का उपयोग करके कुछ ऑब्जेक्ट्स को फ़िल्टर करना चाहता हूं, मुझे आशा थी कि मैं इनका उपयोग नहीं कर सकता क्योंकि मैंने देखा कि मैं आसानी से आईएन कर सकता हूं।एनएसपीआरएआर एनएसपीडिकेट के साथ

तो मैं अपने सरणी है:

self.categoriesList 

तो मैं मान रहा निकालना चाहते मिलती है:

NSArray *parentIDs = [self.cateoriesList valueForKeyPath:@"@distinctUnionOfObjects.ParentCategoryID"]; 

यह मैं मैं प्रदर्शित करने के लिए नहीं है चाहता हूँ श्रेणियों के लिए ParentCategoryID के की एक सूची देता है, तो मैं समझ मैं उन्हें हटाने के लिए एक NSPredicate उपयोग कर सकते हैं:

self.cateoriesList = [self.cateoriesList filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"CategoryID NOT IN %@",parentIDs]]; 

यह विफल रहता है:

reason: 'Unable to parse the format string "CategoryID NOT IN %@"' 

यदि मैं केवल उस काम में पूरी तरह से उपयोग करना चाहता था।

उत्तर

182

NOT (CategoryID IN %@) के बारे में क्या?

+3

ummm ... हाँ यह काम करता है - DOH! – Slee

+0

! (श्रेणी आईडी% @) - यह भी काम करता है)) –

1

NONE का उपयोग करने के बारे में कैसे?

[NSPredicate predicateWithFormat:@"NONE CategoryID IN %@", parentIDs]; 
+2

ध्यान दें कि कोई भी केवल कई रिश्तों के लिए नहीं है। Http://stackoverflow.com/questions/12127618/nspredicate-the-left-hand-side-for-an-all-or-any-operator-must-be-either-an-nsa देखें – Lubbo

संबंधित मुद्दे