Facebook崩溃与图中的空电子邮件

时间:2016-09-27 04:49:12

标签: ios swift facebook-graph-api

我对swift有点新意,可以使用一些帮助。我成功运行了一个Facebook SDK图形请求,并将它的一部分保存到Parse上的数据库中。问题是,如果用户不允许读取他们的电子邮件,我的应用程序崩溃,因为该对象为空。这是我的代码:

FBSDKGraphRequest(graphPath: "me",
                              parameters: ["fields": "id, name,friends, first_name, last_name, picture.type(large), email, gender,taggable_friends"])
                .start(completionHandler: { (connection, result , error) -> Void in

                    let data:[String:AnyObject] = result as! [String : AnyObject]
                    print(data)
                    PFUser.current()!["fb_id"] = data["id"] as? String
                    PFUser.current()!["name"] = data["name"] as? String

                    PFUser.current()!["email"] = data["email"] as! String
                    PFUser.current()!["gender"] = data["gender"] as! String
                    PFUser.current()?.saveInBackground()

有人可以帮我编辑电子邮件行,说明是否为空,不要试图强行保存吗?

1 个答案:

答案 0 :(得分:0)

一种方法是在Swift中安全地展开可选项的标准方法:

if let email = data["email"] as? String {
    PFUser.current()!["email"] = email
}