NSLog - 奇怪的行为

时间:2011-08-29 07:13:06

标签: iphone objective-c ios nslog

我发现最后一个单词用双引号显示。但为什么呢?

NSDictionary *guide2 = [NSDictionary dictionaryWithObjectsAndKeys:kArr, @"Kate", aArr, @"Ana-Lucia", kArr, @"John",  nil];
NSArray *array = [guide2 allKeys];
NSLog(@"%@", [array description]);

输出:

(
John,
Kate,
"Ana-Lucia"
)

2 个答案:

答案 0 :(得分:7)

因为它不是严格的字母数字和仅一个字。试试NSArray *array = [NSArray arrayWithObjects:@"abc", @"123", @"$abc", @"a-b-c", @"a b c", nil];,你会看到只有前两个没有被引用。它只是编写描述代码的人的一个实现选择。

答案 1 :(得分:7)

似乎由于键-中的特殊字符Ana-Lucia,它会在双引号中显示它。可能是因为表示是一个单词。如果您的密钥仅包含{“1}},例如”AnaLucia“,那么它将显示没有引号。

如果密钥包含alphabets以外的任何字符,则会以双引号显示,即使它是alphabetsunderscore(_)