NOT IN을 사용하는 NSPredicate가있는 NSArray


90

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

답변:



당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.