使用Swift通过解析来拉取Facebook个人资料照片

时间:2015-10-28 15:30:42

标签: facebook swift parse-platform profile

我正在尝试为我的应用资料页面提取用户名和个人资料图片。我正在使用Parse和Facebook SDK。

我有一个UILabel和一个UIView作为插座连接。

当我尝试设置profileImageView时,它给出了错误“类型'的值'UIImageView'没有成员'setImageWithURL'”这是Swift的升级吗?

这是我的代码......

func setProfilePicture() {
    FBSDKGraphRequest(graphPath: "me", parameters: nil).startWithCompletionHandler({ (connection, result, error) -> Void in
        if let dict = result as? Dictionary<String, AnyObject> {
            let name: String = dict["name"] as! String
            let facebookID: String = dict["id"] as! String

            let pictureUrl = "https://graph.facebook.com/\(facebookID)/picture?type=large&return_ssl_resources=1"

            self.profileImageView.setImageWithURL(NSURL(string: pictureUrl)!)
            self.nameLabel.text = name
            PFUser.currentUser()!.setValue(name, forKey: "name")
            PFUser.currentUser()!.saveInBackground()
        }
    })

}

2 个答案:

答案 0 :(得分:1)

if let url = NSURL(string: "https://graph.facebook.com/\(facebookID)/picture?type=large&return_ssl_resources=1") {
    if let data = NSData(contentsOfURL: url){
        self.profileImageView.contentMode = UIViewContentMode.ScaleAspectFit
        self.profileImageView.image = UIImage(data: data)
    }
}

答案 1 :(得分:0)

尝试创建一个功能fbProfilePicURL,该功能获取Facebook ID并将个人资料图片网址返回为NSURL,然后更改

self.profileImageView.setImageWithURL(NSURL(string: pictureUrl)!)

self.profileImageView.setImageWithURL(NSURL.fbProfilePicURL(facebookID))

对此不是100%肯定,但请告诉我它是否有效。