【问题标题】:Parse query .whereKey解析查询 .whereKey
【发布时间】:2015-08-15 10:20:59
【问题描述】:

这是我的代码:

 func loadData() {

    data.removeAllObjects()
    isLiking.removeAll(keepCapacity: true)
    likes.removeAll(keepCapacity: true)

    var followedUserQuery:PFQuery = PFQuery(className: "Followers")
        followedUserQuery.whereKey("follower", equalTo: PFUser.currentUser()!.objectId!)

        followedUserQuery.findObjectsInBackgroundWithBlock { (objects, error) -> Void in

            if let objects = objects {

                for object in objects {

                    var followedUser = object["user"] as! String


                    println(followedUser)

                    var postQuery:PFQuery = PFQuery(className: "Posts")
                          var postQuery:PFQuery = PFQuery(className: "Posts")
     postQuery.whereKey("postedBy", equalTo: followedUser || PFUser.currentUser()!.objectId!) // cannot invoke 'whereKey' with an argument list of type '(String, equalTo: Bool)'

                          postQuery.orderByDescending("createdAt")
                          postQuery.findObjectsInBackgroundWithBlock ({ (objects, error) -> Void in

                        if let objects = objects {

                            for object in objects {

                                if let post = object as? PFObject {

                                    self.data.addObject(object)

我在代码中收到上面注释的错误。我想从Posts 类中检索posts,它将由关注的用户发布并由当前用户发布。我怎样才能做到这一点?我也试过这个:

  var postQuery:PFQuery = PFQuery(className: "Posts")
      postQuery.whereKey("postedBy", equalTo: followedUser)
      postQuery.whereKey("postedBy", equalTo:   PFUser.currentUser()!.objectId!) 

通过使用这个我只是得到当前用户的帖子。

但是这很有效。 有没有其他方法可以获取关注用户和当前用户发布的帖子?我愿意接受任何类型的建议。

【问题讨论】:

    标签: ios swift parse-platform pfquery


    【解决方案1】:

    这行代码语法错误:

    postQuery.whereKey("postedBy", equalTo: followedUser || PFUser.currentUser()!.objectId!)
    

    您的第二个参数是一个布尔条件,您正试图将其与字符串进行比较。创建“followedUser”和“PFUser.currentUser()!.objectId!”的字符串数组并使用“whereKey:containedIn:”函数,而不是“whereKey:equalTo””

    【讨论】:

    • 你能告诉我密码吗?我试过这个:`var followUser = object["user"] as!字符串 var currentUser = PFUser.currentUser()?.objectId self.postedByUsers.append(followedUser) self.postedByUsers.append(currentUser!) println(self.postedByUsers) var postQuery:PFQuery = PFQuery(className: "Posts") postQuery。 whereKey("postedBy", containsIn: self.postedByUsers) `它起作用了。
    • 如果 by didn't work 你的意思是它没有返回任何结果,那么我不确定你要我做什么。如果它不编译,那么这是一个单独的问题。看起来您记录了您创建的数组。转到 parse.com,转到您的 Posts 表,查看 postedBy 列,看看是否有任何 Posts 满足您刚刚创建的条件,即“给我找一个postedby 字符串等于这个或这个的帖子”
    • 我在附加数组后使用了 println 它给出了这个: [P2XutaEa6f, SiA72FwNi2] [P2XutaEa6f, SiA72FwNi2, xpkeERfmbz, SiA72FwNi2] ,实际上这是因为我想我将它附加到一个 for 循环中。所以它会附加第一个用户,然后是当前用户和 currentUserId,然后是第二个循环中的其他用户和当前 userId。我该如何解决这个问题?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 2014-05-24
    • 2020-03-08
    • 2021-05-11
    相关资源
    最近更新 更多