2012-08-22 12 views
6

Mój kod odczytuje listę par klucz/wartość jak następuje:ObjC: obiekt zwrócony pusty opis?

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

Każda para jest podzielone za pomocą NSString: componentsSeparatedByString:

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

W przykładzie powyższej listy, R ma wartość dopasowania . Jak pytam go wydrukować, tutaj jest to, co mam:

(lldb) PO [kV objectAtIndex: 1] (id) $ 33 = 0x00007fff77a888e0

Jak mogę zidentyfikować tego?

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

Chciałbym, aby było traktowane jako zero, jak to zrobić? Dzięki!

Odpowiedz

17

To nie jest zero, to pusty ciąg znaków (przeczytaj dokumenty, tam jest napisane). To, czego chcesz, to

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