ObjC:对象返回空描述?

Jem*_*Jem 7 objective-c

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

A:nodeAbc
...
Q:node2
R:
T:node3
...
Run Code Online (Sandbox Code Playgroud)

使用NSString拆分每对:componentsSeparatedByString:

NSArray *kv = [@"R:" componentsSeparatedByString:@":"];
Run Code Online (Sandbox Code Playgroud)

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

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

我该如何识别?

if ([kv objectAtIndex:1]) // returns YES
Run Code Online (Sandbox Code Playgroud)

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

小智 18

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

if ([[kv objectAtIndex:1] length] > 0)
Run Code Online (Sandbox Code Playgroud)