NSArray với NSPredicate sử dụng NOT IN


90

Tôi có một NSArray mà tôi muốn lọc ra các đối tượng nhất định bằng NSPredicate, tôi đã hy vọng mình có thể sử dụng NOT IN vì tôi thấy rằng tôi có thể dễ dàng thực hiện IN.

Vì vậy, tôi có mảng của mình:

self.categoriesList

Sau đó, tôi nhận được các giá trị mà tôi muốn xóa:

NSArray *parentIDs = [self.cateoriesList valueForKeyPath:@"@distinctUnionOfObjects.ParentCategoryID"];

Điều này cung cấp cho tôi danh sách ParentCategoryID cho các danh mục mà tôi KHÔNG muốn hiển thị, vì vậy tôi nghĩ tôi có thể sử dụng NSPredicate để xóa chúng:

self.cateoriesList = [self.cateoriesList filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"CategoryID NOT IN %@",parentIDs]];

Điều này không thành công:

reason: 'Unable to parse the format string "CategoryID NOT IN %@"'

Tất nhiên, nếu tôi muốn chỉ sử dụng IN hoạt động hoàn hảo.

Câu trả lời:



Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.