Bir NSPredicate kullanarak belirli nesneleri filtrelemek istediğim bir NSArray'ım var, kolayca bir IN yapabileceğimi gördüğüm için NOT IN kullanabileceğimi umuyordum.
Yani dizim var:
self.categoriesList
Sonra kaldırmak istediğim değerleri alıyorum:
NSArray *parentIDs = [self.cateoriesList valueForKeyPath:@"@distinctUnionOfObjects.ParentCategoryID"];
Bu bana görüntülemek istemediğim kategoriler için bir ParentCategoryID listesi veriyor, bu yüzden onları kaldırmak için bir NSPredicate kullanabileceğimi düşünüyorum:
self.cateoriesList = [self.cateoriesList filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"CategoryID NOT IN %@",parentIDs]];
Bu başarısız:
reason: 'Unable to parse the format string "CategoryID NOT IN %@"'
Sadece IN kullanmak isteseydim, bu elbette mükemmel çalışıyor.