解析 - 在特定行之后查询

Parse - Query after a specific row

如何在 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 数据库 class:

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

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

var havePassedObjectId = false

然后在 for 循环中检查当前 post 是否等于您想要的对象 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  
}

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

找到对象后尝试过滤它们:

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