NSArray з NSPredicate, використовуючи NOT IN


90

У мене є NSArray, який я хочу відфільтрувати певні об'єкти за допомогою NSPredicate, я сподівався, що зможу використовувати NOT IN, оскільки я побачив, що можу легко зробити IN.

Отже, я маю свій масив:

self.categoriesList

Тоді я отримую значення, які хочу видалити:

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

Це дає мені список ідентифікаторів ParentCategory для категорій, які НЕ хочу відображати, тому я вважаю, що я можу використовувати NSPredicate для їх видалення:

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

Це не вдається:

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

Якби я хотів використовувати просто IN, це прекрасно працює, звичайно.

Відповіді:



Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.