ObjC:对象返回空描述?

时间:2012-08-22 09:57:24

标签: objective-c

我的代码正在读取键/值对的列表,如下所示:

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

使用NSString:componentsSeparatedByString:

拆分每一对
NSArray *kv = [@"R:" componentsSeparatedByString:@":"];

在上面的列表示例中,R没有匹配值。正如我要打印它,这是我得到的:

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

我如何识别这个?

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

我希望将其视为零,怎么办呢? 谢谢!

1 个答案:

答案 0 :(得分:18)

它不是零,它是一个空字符串(阅读文档,它在那里说明)。你想要的是

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