Ios NSString键的NSDictionary异常行为
日志: 2014-04-15 20:51:37.336 AppDemo[2201:60b]下载编辑字符串=6226691114401792Ios NSString键的NSDictionary异常行为,ios,objective-c,nsstring,nsdictionary,Ios,Objective C,Nsstring,Nsdictionary,日志: 2014-04-15 20:51:37.336 AppDemo[2201:60b]下载编辑字符串=6226691114401792 2014-04-15 20:51:37.337存在ID为6226691114401792的AppDemo[2201:60b]2)项 我是Obj C的新手,几个小时来我一直在试图解决这个问题。请帮助我理解为什么它在提供NSString作为键时找不到对象 NSString *downloadedItemIDString = [dict objectForKey:
2014-04-15 20:51:37.337存在ID为6226691114401792的AppDemo[2201:60b]2)项 我是Obj C的新手,几个小时来我一直在试图解决这个问题。请帮助我理解为什么它在提供NSString作为键时找不到对象
NSString *downloadedItemIDString = [dict objectForKey:@"id"];
NSLog(@"downloadedItemIDString = %@", downloadedItemIDString);
if([storedRecordsDict objectForKey:downloadedItemIDString] != nil)
NSLog(@"1) Item WITH ID %@ EXISTS!", downloadedItemIDString);
if([storedRecordsDict objectForKey:@"6226691114401792"] != nil)
NSLog(@"2) Item WITH ID 6226691114401792 EXISTS!");
首先检查您的downloadedItemIDString是否等于@“6226691114401792”,然后这两个if条件都将执行。id值上可能有一些空格。在log语句中添加引号以确保:
NSLog(@“downloadedItemIDString='%@',downloadedItemIDString)代码>并查看是否出现任何空格。2014-04-15 21:05:19.314 AppDemo[2232:60b]DownloadEditTempString='6226691114401792'2014-04-15 21:05:19.315 AppDemo[2232:60b]2)ID为'6226691114401792'的项目存在!我添加了“”但仍然很神秘..:/另一个测试:添加以下日志:NSLog(@“downloadedItemIDString class=%@,[downloadedItemIDString class])
downloadedItemIDString
可能不是NSString,而是NSNumber。
NSString *downloadedItemIDString = [dict objectForKey:@"id"];
NSLog(@"downloadedItemIDString = %@", downloadedItemIDString);
if([downloadedItemIDString isEqualToString:@"6226691114401792"])
{
if([storedRecordsDict objectForKey:downloadedItemIDString] != nil)
NSLog(@"1) Item WITH ID %@ EXISTS!", downloadedItemIDString);
if([storedRecordsDict objectForKey:@"6226691114401792"] != nil)
NSLog(@"2) Item WITH ID 6226691114401792 EXISTS!");
}