仅检索用户上传的图像

时间:2015-06-30 10:54:09

标签: swift parse-platform

我正在使用解析来上传和检索图片。我使用以下代码上传图片。

  @IBAction func uploadButton(sender: AnyObject) {
        var imageText = uploadMessage.text

        if uploadPreviewImageView.image == nil {
            //image is not included alert user
            println("Image not uploaded")
        }else {

            var posts = PFObject(className: "Posts")
            posts["imageText"] = imageText
            posts["uploader"] = PFUser.currentUser()
            posts.saveInBackgroundWithBlock({
                (success: Bool, error: NSError?) -> Void in

                if error == nil {

                    var imageData = UIImagePNGRepresentation(self.uploadPreviewImageView.image)
                    var parseImageFile = PFFile(name: "uploaded_image.png", data: imageData)
                    posts["imageFile"] = parseImageFile
                    posts.saveInBackgroundWithBlock({
                        (success: Bool, error: NSError?) -> Void in

                        if error == nil {

正如问题的标题所述,我只想检索用户已经拍摄的图像。

var query = PFQuery(className: "Tops")
query.orderByDescending("createdAt")
query.findObjectsInBackgroundWithBlock{
    (posts: [AnyObject]?, error: NSError?) -> Void in
    if error == nil {
        for post in posts!{
            self.imageFiles.append(post["imageFile"]as! PFFile)
            self.imageText.append(post["imageText"]as! String)
    }


    println(self.imageFiles.count)
        self.topsTableView.reloadData()

} else {
        println(error)
}}}

在上面的代码中,我能够检索图像,但是如果我退出并登录到另一个帐户,我就能看到其他用户上传的图像。这怎么可能?我无法找到执行此操作的教程和文档。 谢谢

1 个答案:

答案 0 :(得分:1)

您基本上需要为查询定义谓词。 Parse支持NSPredicate和他们自己的谓词式机制。

出于您的目的,您应该将查询的条件设置为仅用户拍摄的图片。这可以表示为query.whereKey("uploader", equalTo: PFUser.currentUser())

用简单的英语,它就像说 - 嘿查询,返回结果,其中上传者属性具有我当前用户的值。

您在上传时已设置此属性:]