NSLog – 奇怪的行为
我发现最后一个单词用双引号显示。 但为什么?
NSDictionary *guide2 = [NSDictionary dictionaryWithObjectsAndKeys:kArr, @"Kate", aArr, @"Ana-Lucia", kArr, @"John", nil]; NSArray *array = [guide2 allKeys]; NSLog(@"%@", [array description]);
输出:
( John, Kate, "Ana-Lucia" )
似乎由于特殊的特征-
在关键的Ana-Lucia
,它显示在双引号内。 可能这是因为要表明关键是一个单词 。 如果您的密钥只包含像“AnaLucia”这样的alphabets
,那么它将显示它而不带引号。
如果键包含除alphabets
之外的任何字符,则该键显示为双引号,即使它是underscore(_)
或space
。
因为它不是严格的字母数字和仅一个字。 尝试NSArray *array = [NSArray arrayWithObjects:@"abc", @"123", @"$abc", @"abc", @"abc", nil];
,你会看到只有前两个没有被引用。 它只是编写描述代码的人的一个实现选择。