Почему строка отображается в NSDictionary с кавычками, а другие нет?
Итак, у меня есть NSMutableDictionary, который я заполняю, но когда я вывожу содержимое в NSLog, ключ и значение для записей, введенных в цикл for, отображаются по-разному, и последний вызов NSLog даже ничего не выводит. Что тут происходит??? Пожалуйста помоги! Почему кавычки вокруг записей добавляются в цикл for???
NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
numberOfPhotosAsString, @"PackageFileCount",
wtID, @"wtID",
uploadType, @"type",
nil];
for (int i= 0; i < photos.count; i++)
{
NSString *finalFileName = [fileNameBase stringByAppendingFormat:@"%i", i];
[params setObject:[[fileNames objectAtIndex:i] stringByAppendingString:@".jpg"] forKey:finalFileName];
// This one doesn't do anything differently:
//[params setValue:[[fileNames objectAtIndex:i] stringByAppendingString:@".jpg"] forKey:[fileNameBase stringByAppendingFormat:@"%i", i]];
}
NSLog(@"Params: %@", params);
NSLog(@"Value: %@", [params objectForKey:@"SourceName_0"]);
Вывод NSLog (я только добавил одно значение в цикле for: "SourceName_0" = "tbyg.jpg", но почему кавычки вокруг "SourceName_0"??? Что бы здесь ни происходило, мешает мне получить доступ к этой записи словаря...
Журнал:
2012-05-09 12:38:26.448 PhotoUp[6231:707] Params: {
PackageFileCount = 1;
"SourceName_0" = "tbyg.jpg";
type = T;
wtID = "6bcb4126-4bbe-4b3d-be45-9a06cf56a22f";
}
2012-05-09 12:38:26.449 PhotoUp[6231:707] Value: (null)
1 ответ
Кавычки появляются потому, что строка содержит что-то помимо основных буквенно-цифровых символов - в данном случае подчеркивание. По той же причине "tbyg.jpg"
а также "6bcb4126-4bbe-4b3d-be45-9a06cf56a22f"
есть кавычки (они содержат точку и тире, соответственно). Вот только как description
метод работает. Это не приведет к сбою вашего второго журнала.