Parse - 在特定行之后查询

时间:2016-05-29 00:57:46

标签: ios swift parse-platform pfquery

如何在objectId等于我存储的objectId的特定行之后查询?

这是我的查询代码:

func queryStory(){
        let query = PFQuery(className: "myClassStory")
        query.whereKey("isPending", equalTo: false)
        query.limit = 1000
        query.orderByDescending("createdAt")

        query.findObjectsInBackgroundWithBlock { (posts: [PFObject]?, error: NSError?) -> Void in
            if (error == nil){
                // Success fetching objects

                for post in posts! {

                    if let imagefile = post["userFile"] as? PFFile {
                        self.userFile.append(post["userFile"] as! PFFile)
                        self.objID.append(post.objectId!)
                        self.createdAt.append(post.createdAt!)
                    }
                }
                print("Done!")
            }
            else{
                print(error)
            }
        }
    }

这是我的Parse数据库类: enter image description here

我想要的是,只查询在objectId:woaVSFn89t之后创建的项目。我怎么能这样做?

2 个答案:

答案 0 :(得分:0)

在for循环之前创建一个变量:

var havePassedObjectId = false

然后在for循环中检查当前帖子是否等于你想要的对象id:

if post.objectid == "woaVSFn89t" {
self.userFile.append(post["userFile"] as! PFFile)
 //Continue appending to arrays where needed  
havePassedObjectId = true
} else if havePassedObjectId == true {
   self.userFile.append(post["userFile"] as! PFFile)
   //Continue appending to arrays where needed  
}

这将检查您是否已经传递了该对象并追加了所有对象。

答案 1 :(得分:0)

找到对象后尝试过滤:

query.findObjectsInBackgroundWithBlock { (posts: [PFObject]?, error: NSError?) -> Void in
        if (error == nil){
            // Success fetching objects

            var thePostTime = NSDate()

            for post in posts! {
                if post.objectId == "The Object Id You Were Trying To Find" {
                    thePostTime = post.createdAt!
                }
            }

            for post in posts! {

                if post.createdAt!.isGreaterThan(thePostTime) == true {
                    if let imagefile = post["userFile"] as? PFFile {
                        self.userFile.append(post["userFile"] as! PFFile)
                        self.objID.append(post.objectId!)
                        self.createdAt.append(post.createdAt!)
                    }
                }

            }

            print("Done!")
        }
        else{
            print(error)
        }
    }

您会注意到我使用此比较日期:NSDate Comparison using Swift