I found that last word showed with double quotes. But why?
NSDictionary *guide2 = [NSDictionary dictionaryWithObjectsAndKeys:kArr, @"Kate", aArr, @"Ana-Lucia", kArr, @"John", nil];
NSArray *array = [guide2 allKeys];
NSLog(@"%@", [array description]);
output:
(
John,
Kate,
"Ana-Lucia"
)
It seems that because of the special character -
in the key Ana-Lucia
, it displays it within double-quotes. May be this is because to show that the key is a single word. If your key contains only alphabets
like "AnaLucia", then it will display it without quotes.
The key is displayed in double-quotes if it contains any characters other than alphabets
, even if it is an underscore(_)
or space
.
Because it's not strictly alphanumeric and one word only. Try NSArray *array = [NSArray arrayWithObjects:@"abc", @"123", @"$abc", @"a-b-c", @"a b c", nil];
, you'll see only the first two are not quoted. It's just an implementation choice from the guy who wrote the description code.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With