2012-08-22 14 views
6

Mi código está leyendo una lista de pares clave/valor como sigue:ObjC: objeto devuelto descripción vacía?

A:nodeAbc 
... 
Q:node2 
R: 
T:node3 
... 

Cada par se divide usando NSString: componentsSeparatedByString:

NSArray *kv = [@"R:" componentsSeparatedByString:@":"]; 

En el ejemplo de la lista anterior, R no tiene valor coincidente . Al pedirle a imprimirlo, aquí es lo que me pasa:

(LLDB) po [kv objectAtIndex: 1] (id) $ 33 = 0x00007fff77a888e0

¿Cómo puedo identificar esto?

if ([kv objectAtIndex:1]) // returns YES 

Me gustaría que se tratara como un cero, ¿cómo se puede hacer? Gracias!

Respuesta

17

No es nada, es una cadena vacía (lea los documentos, se indica allí). Lo que quiere es

if ([[kv objectAtIndex:1] length] > 0) 
Cuestiones relacionadas