为什么string在引用中显示在NSDictionary,但其他人不?
所以我有一个NSMutableDictionary,我填充,但是当我输出的内容NSLog,在for循环中input的项的键和值显示不同,最后的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)
引号出现的原因是string包含除了基本字母数字之外的东西 – 在这种情况下是下划线。 "tbyg.jpg"
和"6bcb4126-4bbe-4b3d-be45-9a06cf56a22f"
引号是相同的(分别包含点和破折号)。 这就是description
方法的工作原理。 这不会导致你的第二个日志失败。
- iOS屏幕捕捉是模糊的
- 目标C:属性属性
- NSURLSession使用绑定stream上传后台文件
- NSNotificationCenter在closures之后自定义的UIView控制器错误再次出现
- 获取SQLite上最后一个插入行的ID的最佳方法
- 如何在uialertview或UIAlertController中为特定单词着色? (迅速)
- 如何在执行块后返回值? 迅速
- UIWebView的JavaScript失去对iOS的JSContext命名空间(对象)的引用
- swift prepareForSegue not working / exc_breakpoint(code = exc_i386_bpt subcode = 0x0)