这可能是一个非常新手的问题,我很尴尬地问,但是我浪费了很多时间试图解决这个问题。
我关注了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”]时,它给了我这条消息。
无法识别的选择器发送到实例0x178c60c0
我几乎可以肯定这只是一个基本的语法问题,正如我之前所说的那样,我很尴尬不得不问,但是事先感谢这个令人敬畏的社区!
答案 0 :(得分:1)
您可能有两个问题。第一个数组为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。
希望这有助于解决您的问题。