这是我的代码,用于获取代表用户Graph的整个字典:
if (FBSession.activeSession.isOpen) {
[[FBRequest requestForMe] startWithCompletionHandler:
^(FBRequestConnection *connection,
NSDictionary<FBGraphUser> *user,
NSError *error) {
if (!error) {
NSLog(@"%@",user);//Displayed with the gender
NSLog(@"%@",user.name);//Name only displayed
NSLog(@"%@",user.gender);//Build error
}
}];
}
我很想知道性别数据有什么问题,以及为什么它没有在字典中找到,实际上,我收到了构建错误:
property 'gender' not found on object of type 'NSDictionary<FBGraphUser> *'
答案 0 :(得分:9)
您可以使用[user objectForKey:@"gender"];
答案 1 :(得分:7)
Facebook并未发送性别以回应“requestForMe”。 为了获得性别发送请求,请执行以下操作:
NSDictionary* params = [NSDictionary dictionaryWithObject:@"id,gender,name, whatever you like" forKey:@"fields"];
[[FBRequest requestWithGraphPath:[NSString stringWithFormat:"%d",myUserId] parameters:params HTTPMethod:nil] startWithCompletionHandler:...
我不确定,但我认为您也可以将图形路径设置为@“me”而不是用户ID。