将 facebook 的共同好友保存到数组或字典中

saving facebook mutual friends to array or dictionary

这可能是一个非常新手的问题,我不好意思问,但我已经浪费了很多时间来弄清楚这个问题。

我关注了facebook的documentation,现在可以成功找回共同好友了。问题是,我无法将它们保存到数组或字典中。我的目标是保存这些值,以便我可以提供共同的朋友供稿。

这是来自 facebook 的结果

2015-02-08 14:23:41.747 Madada[1989:500881] RESULT OF FB {
     context =     {
       "mutual_friends" =         {
         data =             (
                            {
                id = 341355692798276;
                name = "name";
            },
                            {
                id = 1600005380218938;
                name = "name";
            }
        );
        paging =             {
            cursors =                 {
                after = "MTYwMDAwNTM4MDIxODkzNA==";
                before = MzQxMzU1NjkyNzM4Njgz;
            };
        };
        summary =             {
            "total_count" = 3;
        };
    };
};
id = 1380880992219300;

}

这是我的ios代码

NSNumber *total = result[@"context"][@"mutual_friends"][@"summary"][@"total_count"];
                                  NSLog(@"TOTAL FRIENDS %@", total);
                                  for(int i=0;i<[result[@"context"][@"mutual_friends"][@"data"] count];i++)
                                  {
                                      [self.mutualFriends addObject:result[@"context"][@"mutual_friends"][@"data"]];
                                      NSLog(@"MUTUAL FRIENDS ARRAY : %@", self.mutualFriends);
                                  }

我试着解决这个问题,但是对于检索到的每个用户,数组的结果都是 NULL。当我在末尾添加 [@"id"] 时,它给了我这条消息。

unrecognized selector sent to instance 0x178c60c0

我几乎可以肯定这只是一个基本的语法问题,正如我之前所说,我不好意思问,但提前感谢很棒的社区!

您可能有两个问题。第一个数组为 NULL。在开始向其添加对象之前,我会确保您正在初始化 NSMutableArray。

self.mutualFriends = [[NSMutableArray alloc]init];

第二个问题是你不能直接获取id,因为你正在遍历一个数组,需要先从数组中获取一个字典。请参阅示例中的 friendData。

NSNumber *total = result[@"context"][@"mutual_friends"][@"summary"][@"total_count"];
NSLog(@"TOTAL FRIENDS %@", total);

for(int i=0;i<[result[@"context"][@"mutual_friends"][@"data"] count];i++)
{
    NSDictionary *friendData = result[@"context"][@"mutual_friends"][@"data"][i];

    [self.mutualFriends addObject:friendData[@"id"]];
    NSLog(@"MUTUAL FRIENDS ARRAY : %@", self.mutualFriends);
}

而且result[@"thisThing][@"otherThing][@"evenMoreStuff]也非常容易迷路。只是一些建议,我会避免这样做,并在您浏览结果时创建一个本地 NSDictionary 或 NSArray。

希望对您有所帮助并解决您的问题。