Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/113.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios NSString键的NSDictionary异常行为_Ios_Objective C_Nsstring_Nsdictionary - Fatal编程技术网

Ios NSString键的NSDictionary异常行为

Ios 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.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:@"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!");
}