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 만 사용하고 싶다면 물론 완벽하게 작동합니다.