NSArray พร้อม NSPredicate โดยใช้ NOT IN


90

ฉันมี 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 ที่ใช้งานได้ดีแน่นอน

คำตอบ:



โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.