我有一个NSArray
并且需要过滤掉任何null的字符串,或者更确切地说是'(空字符串)。我怎么做?我试过了:
NSPredicate *predicateName = [NSPredicate predicateWithFormat:@"(name!=nil)"];
但这似乎不起作用。或者它可能会有,但有不同种类的空...
答案 0 :(得分:145)
如果您不使用Core Data,您可以这样做:
NSPredicate *predicateName = [NSPredicate predicateWithFormat:@"name.length > 0"];
如果字符串为空,则会失败(因为0 == 0
)。同样,如果name
为nil
,它也会失败,因为[nil length] == 0
。
答案 1 :(得分:71)
我认为这应该有效:
NSPredicate *predicateName = [NSPredicate predicateWithFormat:@"name!=nil AND name!=''"];
答案 2 :(得分:12)
NSPredicate *predicateName = [NSPredicate predicateWithFormat:@"name!=NULL"];
答案 3 :(得分:7)
这个谓词对我有用:
[NSPredicate predicateWithFormat:@"(%K== nil) OR %K.length == 0", @"imageUrl", @"imageUrl"]