0

这是我获取代表用户图的整个字典的代码:

 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> *'
4

2 回答 2

9

您可以使用[user objectForKey:@"gender"];

于 2013-02-25T12:03:23.790 回答
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。

于 2012-11-04T17:17:29.770 回答