J'ai un NSArray
et j'ai besoin de filtrer toutes les chaînes qui sont nulles ou plutôt, ont '' (chaîne vide). Comment je fais ça? J'ai essayé de faire:
NSPredicate *predicateName = [NSPredicate predicateWithFormat:@"(name!=nil)"];
mais cela ne semble pas fonctionner. Ou peut-être que oui, mais il existe différents types de null ...
Si vous n'utilisez pas Core Data, vous pouvez faire:
NSPredicate *predicateName = [NSPredicate predicateWithFormat:@"name.length > 0"];
Si la chaîne est vide, cela échouera (car 0 == 0
). De même, si name
est nil
, il échouera également, car [nil length] == 0
.
Je pense que cela devrait fonctionner:
NSPredicate *predicateName = [NSPredicate predicateWithFormat:@"name!=nil AND name!=''"];
NSPredicate *predicateName = [NSPredicate predicateWithFormat:@"name!=NULL"];
Ce prédicat a fonctionné pour moi:
[NSPredicate predicateWithFormat:@"(%K== nil) OR %K.length == 0", @"imageUrl", @"imageUrl"]