У мене є 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, це прекрасно працює, звичайно.