【问题标题】:Parse query containedIn doesn't return any value解析查询 containsIn 不返回任何值
【发布时间】:2015-09-24 01:24:48
【问题描述】:

几天来,我一直在试图破解为什么我的代码不起作用,而我尝试过的一切都没有给我任何结果。这是交易: 有一个 Booking 类,其中包含进行预订的 userFrom

let query = PFQuery(className: "Booking")
        query.whereKey("offer", equalTo: offer.pfObject!)
        if self.typeOfUser == .COOK { //! If user is a Cook
            query.findObjectsInBackgroundWithBlock({ (objects : [PFObject]?, error : NSError?) -> Void in
                if let error = error {
                    print(error.localizedDescription)
                } else {
                    if let objects = objects {
                        self.bookings = objects
                        self.usersIds = [String]()
                        for object in objects {
                            let userFrom = object.objectForKey("userFrom") as? PFObject
                            let userId = userFrom!.objectId! as String
                            self.usersIds.append(userId)
                        }
                        self.getUserInfoForBooking()

                    } else {
                        print("Something went wrong")
                    }
                }
            })
        }

我从每个用户那里获得 objectId 并将其附加到 [String] 数组。然后我用他们的 ID 查询用户

    private func getUserInfoForBooking() {
    let userQuery = PFQuery(className: "User")
    userQuery.whereKey("objectId", containedIn: self.usersIds)
    userQuery.findObjectsInBackgroundWithBlock({ (objects : [PFObject]?, error : NSError?) -> Void in
        if let error = error {
            print(error.localizedDescription)
        } else {
            print(objects!)
            if let objects = objects {
                for object in objects {
                    self.users.append(object)
                }
                self.collectionView.reloadData()
            } 
        }
    })
}

在这个查询中,我总是得到一个空数组。 无论我做什么,无论我改变了什么,总是[]作为回应:(

【问题讨论】:

  • println(objects) 有什么消息吗?

标签: ios iphone swift parse-platform


【解决方案1】:

这是查询用户的错误方式

let userQuery = PFQuery(className: "User")

因为类名是私有的。您应该将查询创建为

let userQuery = PFUser.query()

【讨论】:

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