我有一個NSArray,我想過濾掉某些對象使用NSPredicate,我希望我可以使用NOT IN,因爲我看到我可以輕鬆地做一個IN。NSArray與NSPredicate使用NOT 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 %@"'
如果我只想使用IN,那當然是完美的。
嗯......是的,這是行之有效的 - DOH! – Slee 2011-12-20 19:22:36
!(CategoryID IN%@) - 也可以) – 2015-02-04 19:19:34