7

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

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

我希望它被视为零,怎么办?谢谢!

4

1 回答 1

18

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

if ([[kv objectAtIndex:1] length] > 0)
于 2012-08-22T10:10:45.117 回答