【问题标题】:retrieve avatar from user class swift parse从用户类快速解析中检索头像
【发布时间】:2015-08-02 20:36:06
【问题描述】:

我想从 Parse 中检索用户的头像。我在 User 默认 Parse 类中创建了一个 File 列,并成功上传了一张图片,但我不知道这个函数有什么问题:

 var query = PFQuery(className: "User")
    query.whereKey("username", equalTo: PFUser.currentUser()!.username!)
    query.findObjectsInBackgroundWithBlock {
        (objects:[AnyObject]?,error:NSError?) -> Void in
        if error == nil {
            let imagesobjects = objects as! [PFObject]
            for object : PFObject in objects as! [PFObject] {
                let image = object["Avatar"] as! PFFile
                image.getDataInBackgroundWithBlock {
                    (imageData:NSData?, error:NSError?) -> Void in
                    if error == nil {
                        if let finalimage = UIImage(data: imageData!) {
                            self.avatarImage.image = finalimage
                        }
                    }
                }
            }
        }
    }

谢谢。卢卡

【问题讨论】:

    标签: image swift parse-platform


    【解决方案1】:

    如果您尝试检索当前用户头像,则无需那么努力。

    只需执行以下操作:

        let avatarFile = PFUser.currentUser()!["avatar"] as PFFile
        avatarFile.getDataInBackgroundWithBlock {
        (imageData:NSData?, error:NSError?) -> Void in
        if error == nil {
            if let finalimage = UIImage(data: imageData!) {
                self.avatarImage.image = finalimage
            }
        }
    }
    

    【讨论】:

    • 很高兴你能用它!不要忘记标记为答案!
    【解决方案2】:

    另一种方法是使用 PFImageView:

     @IBOutlet weak var avatarImageView: PFImageView!
    
     if PFUser.currentUser()!["avatar"] != nil {
          avatarImageView.file = PFUser.currentUser()!["avatar"] as? PFFile
          avatarImageView.loadInBackground()
     }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多