1. ホーム
  2. ios

[解決済み] NSPredicateでNOT INを使ったNSArray

2023-01-30 15:27:50

疑問点

私はNSPredicateを使用して特定のオブジェクトをフィルタリングしたいNSArrayを持っています。私は私が簡単にINを行うことができることを見たので、私は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だけを使いたいのであれば、もちろんそれは完璧に機能します。

どのように解決するのですか?

について教えてください。 NOT (CategoryID IN %@) ?