我有一个变量,它在控制台上打印其值,如下所示:
source id key is (
{ name = "ABC Rawal"; uid = 10000048171452;
} )
这是我用来执行此操作的代码:
-(void)request:(FBRequest*)request didLoad:(id)result {
NSLog(@"source id key is %@", result);
}
我必须分别获取name
和uid
。如何从结果
中检索这些值?
最佳答案
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];
或可以保存可能值范围的适当整数类型。
关于objective-c - 从数组中检索单独的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6421022/