我有一个变量,它在控制台上打印它的值如下:
源ID密钥是(
{ name = "ABC Rawal"; uid = 10000048171452;
} )
这是我用来做的代码:
-(void)request:(FBRequest*)request didLoad:(id)result {
NSLog(@"source id key is %@", result);
}
我必须分别获得name
和uid
。如何从result
答案 0 :(得分:3)
result
是一个由字典组成的数组。在您的示例中,数组只有一个元素。
如果只想要数组中的第一个元素,那么:
if ([result count] > 0) {
NSDictionary *person = [result objectAtIndex:0];
NSString *personName = [person objectForKey:@"name"];
NSString *personUID = [person objectForKey:@"uid"];
…
}
或者,如果你想迭代数组中的所有元素 - 如果数组有多个元素 - 那么:
for (NSDictionary *person in result) {
NSString *personName = [person objectForKey:@"name"];
NSString *personUID = [person objectForKey:@"uid"];
…
}
请注意,从输出中无法知道uid
是字符串还是数字。上面的代码认为它是一个字符串;如果是数字,请使用:
NSInteger personUID = [[person objectForKey:@"uid"] integerValue];
或可以保存可能值范围的适当整数类型。