我有以下代码
hostStr = [hostStr stringByAppendingString:post];
NSData *dataURL = [NSData dataWithContentsOfURL: [ NSURL URLWithString: hostStr ]];
NSString *serverOutput = [[NSString alloc] initWithData:dataURL encoding: NSASCIIStringEncoding];
NSError *error = nil;
NSDictionary *result = [NSJSONSerialization
JSONObjectWithData:dataURL
options:kNilOptions
error:&error];
NSArray *files = [result objectForKey:@"GV_Return"];
NSLog(@"Files: %@", files);
// For Each Key we seperate the data and add it to an object to be used.
for (NSDictionary *file in files)
{
NSString *userNumber = [result objectForKey:@"UserNumber"];
NSLog(@"output: %@", userNumber);
}
我遇到的问题是 NSLog(@“Files:%@”,文件); 会返回我的期望
Files: (
{
UserNumber = 1;
}
)
然而 NSLog(@“输出:%@”,userNumber); 返回 NULL
我需要帮助弄清楚为什么NSString * userNumber = [result objectForKey:@“UserNumber”];似乎没有像它应该那样返回“1”。
答案 0 :(得分:2)
将您的代码更改为:
for (NSDictionary *file in files)
{
NSString *userNumber = [file objectForKey:@"UserNumber"];
NSLog(@"output: %@", userNumber);
}
即。 file objectForKey...
,而不是result objectForKey...
。您正在遍历files
数组,其中的每个条目都被标识为file
,以用于for循环中的代码。