iOS NSJSON, возвращающий ноль - PullRequest
       0

iOS NSJSON, возвращающий ноль

0 голосов
/ 24 февраля 2012

У меня есть следующий код

 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); возвращает то, что я ожидаю

Files: (
    {
    UserNumber = 1;
}
)

Однако NSLog (@ "output:% @", userNumber); Возвращает NULL

Мне нужна помощь, чтобы выяснить, почему NSString * userNumber= [результат objectForKey: @ "UserNumber"];похоже, не возвращает «1», как следует.

1 Ответ

2 голосов
/ 24 февраля 2012

Измените свой код на:

for (NSDictionary *file in files)
{           
NSString *userNumber = [file objectForKey:@"UserNumber"];
NSLog(@"output: %@", userNumber);
}

т.е. file objectForKey..., а не result objectForKey.... Вы перебираете массив files, и каждая запись в нем определяется как file для целей кода в цикле for.

...