【发布时间】:2016-09-11 12:33:51
【问题描述】:
我可以发出 Facebook SDK 图形请求来获得用户的喜欢,但我无法获取返回的值并将其中一个键存储在字符串数组中。该请求返回键/值的 NSDictionary。然后,使用objectForKey 我可以获得data 键,它返回我想要的:Facebook 上“喜欢”页面的 ID 和名称。
数据返回这样的元素:
{
id = 486379781543416;
name = "Star Wars Movies";
},
我特别想要所有这些对象的“名称”并将它们放入数组[String]。我试图遍历对象,但出现错误ambiguous use of subscript。以下是相关代码:
request.startWithCompletionHandler{(connection:FBSDKGraphRequestConnection!, result:AnyObject!, error:NSError!) -> Void in
let resultdict = result as! NSDictionary
let likes = resultdict.objectForKey("data") as! NSArray
print("Found \(likes.count) likes")
print(likes)
for object in likes{
let name = object["name"] as! String //error: ambiguous use of subsript
print(name)
}
}
在做了一些研究之后,看起来问题出在 NSArray 上,我应该改用 Swift 数据类型。我尝试将其转换为 Swift 数组,但出现了不同的错误。
处理此错误的最佳方法是什么?
谢谢!
更新:这是 facebook API 请求返回的内容:
{
data = (
{
id = 111276025563005;
name = "Star Wars (film)";
},
{
id = 115061321839188;
name = "Return of the Jedi";
}
);
paging = {
cursors = {
after = MTE1MDYxMzIxODM5MTg4;
before = Mjc0NzYzODk2MTg4NjY5;
};
next = "https://graph.facebook.com/v2.5/10155262562690368/likes?access_token=<redacted>";
};
}
【问题讨论】:
标签: ios arrays swift facebook swift2