所以,我试图在我的应用程序上获取所有其他Facebook好友的列表。
在完成fbsdkgraphrequest之后,我得到了正确的数据(见下文),然后将其转换为nsdictionary。数据如下:
{
friends = {
data = (
{
id = 10154257515635281;
name = "Hector Judd";
},
{
id = 151132798649181;
name = "Arch Tester Dev";
}
);
paging = {
cursors = {
after = QVFIUndVRFZAINXhCSlAzdnNGeUUwTHdhamNpc3NFbjR2NjF4dk40N3ZAZAR2lNLXM0Q3BxLW90REVsaFk3aU13Um1Ca0NOd0ZAXN2gxaDF2emhYem9BMjhkMVl3;
before = QVFIUlo2a1Q4UGhpWmY2SFNWbUtpMVcxZAnEtR01KSlUyeVEtMU9GbjNkRHp2bTFKY0VoVm5xX3dNLXEwMG5OY0Q0My0ZD;
};
};
summary = {
"total_count" = 831;
};
};
id = 10208811056967519;
}
然后,我尝试用多个if-let语句将其解包,但最终得到错误:segmentation fault 11。见下面的代码。
func getFriends() {
let parameters = ["fields": "friends"]
FBSDKGraphRequest(graphPath: "me", parameters: parameters).startWithCompletionHandler({ (connection, result, error) -> Void in
if error != nil {
print(error)
} else {
if let result = result as? NSDictionary {
if let data = result["friends"] as? NSDictionary {
if let friendData = data["data"] as? NSArray {
for friend in friendData {
friendIds.append(friend["id"] as String)
print(friendIds)
}
}
}
}
}
})
}
我对编程还比较陌生,正在努力寻找一种好的方法来实现这一点。任何建议都将不胜感激!!谢谢。
最佳答案
尝试在循环中将frienddata变量声明为nsdictionary
for friend in friends {
if let friendData = friend as? NSDictionary {
friendIds.append(friendData["id"] as! String)
}
}
关于json - Swift Facebook取得好友图请求错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38547130/