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

これはnilではなく、空の文字列です(ドキュメントを読んでください。そこに記載されています)。あなたが欲しいのは

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