Pourquoi une string apparaît-elle dans NSDictionary avec des guillemets, mais d'autres ne le font pas?

J'ai donc un NSMutableDictionary que je remplis, mais quand je publie le contenu dans NSLog, la key et la valeur pour les inputs inputs dans la boucle for s'affichent différemment, et l'appel NSLog final ne produit même rien. Que se passe t-il ici??? S'il vous plaît aider! Pourquoi les guillemets autour des inputs sont-ils ajoutés dans la boucle for ???

NSMutableDictionary *params = [NSMutableDictionary dictionaryWithObjectsAndKeys: numberOfPhotosAsSsortingng, @"PackageFileCount", wtID, @"wtID", uploadType, @"type", nil]; for (int i= 0; i < photos.count; i++) { NSSsortingng *finalFileName = [fileNameBase ssortingngByAppendingFormat:@"%i", i]; [params setObject:[[fileNames objectAtIndex:i] ssortingngByAppendingSsortingng:@".jpg"] forKey:finalFileName]; // This one doesn't do anything differently: //[params setValue:[[fileNames objectAtIndex:i] ssortingngByAppendingSsortingng:@".jpg"] forKey:[fileNameBase ssortingngByAppendingFormat:@"%i", i]]; } NSLog(@"Params: %@", params); NSLog(@"Value: %@", [params objectForKey:@"SourceName_0"]); 

Sortie de NSLog (j'ai seulement ajouté une valeur dans la boucle for: "SourceName_0" = "tbyg.jpg", mais pourquoi les citations autour de "SourceName_0" ??? Ce qui se passe ici m'empêche d'accéder à cette input du dictionary …

Bûche:

 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) 

Les guillemets apparaissent parce que la string contient quelque chose en plus des caractères alphanumériques de base – dans ce cas, un trait de soulignement. C'est la même raison "tbyg.jpg" et "6bcb4126-4bbe-4b3d-be45-9a06cf56a22f" ont des guillemets (ils contiennent un point et des tirets, respectivement). C'est juste comment fonctionne la méthode de description . Cela n'entraînerait pas l'échec de votre deuxième journal.