it-swarm.it

NSPredicate per testare NULL e stringhe vuote

Ho un NSArray e ho bisogno di filtrare tutte le stringhe che sono nulle o piuttosto, hanno '' (stringa vuota). Come lo faccio? Ho provato a fare:

NSPredicate *predicateName = [NSPredicate predicateWithFormat:@"(name!=nil)"]; 

ma questo non sembra funzionare. O forse lo fa ma ci sono diversi tipi di null ...

72
Doz

Se non usi i dati di base, puoi fare:

NSPredicate *predicateName = [NSPredicate predicateWithFormat:@"name.length > 0"];

Se la stringa è vuota, ciò non riuscirà (perché 0 == 0). Allo stesso modo, se name è nil, fallirà anche perché [nil length] == 0.

145
Dave DeLong

Penso che dovrebbe funzionare:

NSPredicate *predicateName = [NSPredicate predicateWithFormat:@"name!=nil AND name!=''"]; 
73
josema.vitaminew
 NSPredicate *predicateName = [NSPredicate predicateWithFormat:@"name!=NULL"];
12
chroww

Questo predicato ha funzionato per me:

[NSPredicate predicateWithFormat:@"(%K== nil) OR %K.length == 0", @"imageUrl", @"imageUrl"]
7
Josip B.