NSLog - Странное поведение - PullRequest
       6

NSLog - Странное поведение

5 голосов
/ 29 августа 2011

Я обнаружил, что последнее слово показывается в двойных кавычках.Но почему?

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

вывод:

(
John,
Kate,
"Ana-Lucia"
)

Ответы [ 2 ]

7 голосов
/ 29 августа 2011

Похоже, что из-за специального символа - в ключе Ana-Lucia он отображается в двойных кавычках. Возможно, это потому, что показывает, что клавиша - это одно слово . Если ваш ключ содержит только alphabets, например «AnaLucia», он будет отображаться без кавычек.

Ключ отображается в двойных кавычках, если он содержит какие-либо символы, кроме alphabets, даже если это underscore(_) или space.

7 голосов
/ 29 августа 2011

Потому что это не строго алфавитно-цифровое и только одно слово.Попробуйте NSArray *array = [NSArray arrayWithObjects:@"abc", @"123", @"$abc", @"a-b-c", @"a b c", nil];, вы увидите, что только первые два не указаны.Это просто выбор реализации от парня, который написал код описания.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...