ฉันมี NSArray ที่ฉันต้องการกรองวัตถุบางอย่างโดยใช้ NSPredicate ฉันหวังว่าฉันจะใช้ NOT IN ได้เนื่องจากฉันเห็นว่าฉันสามารถทำ 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 ที่ใช้งานได้ดีแน่นอน