我有一个NSArray,需要过滤掉所有为null或具有''(空字符串)的字符串。我怎么做?我试着做:
NSPredicate *predicateName = [NSPredicate predicateWithFormat:@"(name!=nil)"];
但这似乎不起作用。也许确实如此,但是有不同类型的null ...
Answers:
如果您不使用核心数据,则可以执行以下操作:
NSPredicate *predicateName = [NSPredicate predicateWithFormat:@"name.length > 0"];
如果字符串为空,则将失败(因为0 == 0)。同样,如果name是nil,它也会失败,因为[nil length] == 0。
name.length > 1为sqlite in name > 1...虽然应该如此length(name) > 1
.length。我不得不使用name!=nil AND name!=''@ josema.vitaminew这样的帖子
我认为这应该工作:
NSPredicate *predicateName = [NSPredicate predicateWithFormat:@"name!=nil AND name!=''"];
这个谓词为我工作:
[NSPredicate predicateWithFormat:@"(%K== nil) OR %K.length == 0", @"imageUrl", @"imageUrl"]