मेरे पास एक NSArray है जिसे मैं कुछ वस्तुओं को एक NSPredicate का उपयोग करके फ़िल्टर करना चाहता हूं, मैं उम्मीद कर रहा था कि मैं IN का उपयोग नहीं कर सकता क्योंकि मैंने देखा कि मैं आसानी से एक IN कर सकता हूं।
इसलिए मेरे पास मेरी सरणी है:
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 %@"'
अगर मैं सिर्फ उस का उपयोग करना चाहता था बिल्कुल काम करता है।