首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >对FBSDKGraphRequest结果的类型化访问(FBSDK v4.1.0)

对FBSDKGraphRequest结果的类型化访问(FBSDK v4.1.0)
EN

Stack Overflow用户
提问于 2015-05-27 12:18:26
回答 1查看 1.4K关注 0票数 3

我想知道是否有从FBSDKGraphRequest返回的结果的类型访问?

例如,我请求自己的个人资料,如下所示:

代码语言:javascript
复制
var theRequest = FBSDKGraphRequest(graphPath: "me", parameters: nil)

theRequest.startWithCompletionHandler({ (connection: FBSDKGraphRequestConnection!, result: AnyObject!, error: NSError!) -> Void in
            // GET TYPED ACCESS TO MY ID
            println(result.id)
            // GET TYPED ACCESS TO MY GENDER
            println(result.gender)
        }
    )

这不起作用,因为result当前的类型是AnyObject,而AnyObject没有用于返回信息的字段。基本上,我想知道是否有一个类/协议,我可以转换结果,以便我有类型的访问。这个是可能的吗?到目前为止,这似乎不是我所研究的。

EN

回答 1

Stack Overflow用户

发布于 2015-05-27 13:04:22

创建字典:

代码语言:javascript
复制
class ViewController: UIViewController {
    var dict : NSDictionary!
}

获取数据:

代码语言:javascript
复制
if((FBSDKAccessToken.currentAccessToken()) != nil){
    FBSDKGraphRequest(graphPath: "me", parameters: ["fields": "id, name, first_name, last_name, picture.type(large), email"]).startWithCompletionHandler({ (connection, result, error) -> Void in
        if (error == nil){
            self.dict = result as NSDictionary               
            println(self.dict)
            NSLog(self.dict.objectForKey("picture")?.objectForKey("data")?.objectForKey("url") as String)
        }
    })
}

输出应为:

代码语言:javascript
复制
{
    email = "ashishkakkad8@gmail.com";
    "first_name" = Ashish;
    id = 910855688971343;
    "last_name" = Kakkad;
    name = "Ashish Kakkad";
    picture =     {
        data =         {
            "is_silhouette" = 0;
            url = "https://fbcdn-profile-a.akamaihd.net/hprofile-ak-xfa1/v/t1.0-1/s200x200/22501_915701971820048_9046303472199214595_n.jpg?oh=f3b3564f1450c13332b3067a135cad5d&oe=55C71792&__gda__=1443571904_c4667dcb08d85682edfd77a90ee9c3ab";
        };
    };
}
2015-05-25 22:12:34.015 SwiftFB[2713:7830] https://fbcdn-profile-a.akamaihd.net/hprofile-ak-xfa1/v/t1.0-1/s200x200/22501_915701971820048_9046303472199214595_n.jpg?oh=f3b3564f1450c13332b3067a135cad5d&oe=55C71792&__gda__=1443571904_c4667dcb08d85682edfd77a90ee9c3ab
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30473084

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档