PFQuery返回空白查询

时间:2019-03-14 16:28:55

标签: swift parse-platform pfquery parse-ios-sdk

我正在尝试运行一个PFQuery,它将填充一系列自定义结构。

一切正常,但是当我运行代码时,返回的查询为空。我也使用PFUser.Query进行了尝试,该方法虽然有效,但未返回objectId的值,所以尝试查询该类。

这是我所拥有的:

var parseUsers:[ParseUsers] = []
var allUsers:[PFObject] = []
let query = PFQuery(className:"User")
let currentUser = PFUser.current()
query.whereKey("username", notEqualTo: currentUser?.username)
do {
    allUsers = try (query.findObjects())
    for i in allUsers{
        var pImage = UIImage()
        if i["profileImage"] != nil{
            let imageFile = i["profileImage"] as? PFFileObject
            imageFile?.getDataInBackground { (imageData: Data?, error: Error?) in
                if let error = error {
                    print(error.localizedDescription)
                } else if let imageData = imageData {
                    pImage = UIImage(data:imageData)!
                }
        }

        }

       let currentUserInfo = ParseUsers(objectID:i["objectId"] as! String,
                           username:i["objectId"] as! String,
                           userWorkouts:i["userWorkouts"] as! [Dictionary<String, String>],
                           profileImage:pImage)
        parseUsers.append(currentUserInfo)


    }
} catch {
    print("Error")
}

2 个答案:

答案 0 :(得分:0)

找出问题所在!

对于将来遇到类似问题的任何人,在确定要查询的课程时,您需要在前面加_。在上述情况下,它将为let query = PFQuery(className:"_User")

很奇怪,我在任何地方的解析文档中都看不到这一点。

答案 1 :(得分:0)

正如@William George在Querying subsection of Users中所提到的,您可以看到如何在_User类上构造查询。

A下面是一个示例(直接从文档中提取):

var query = PFUser.query()
query.whereKey("gender", equalTo:"female")
var girls = query.findObjects()

您可以使用PFUser查询PFQuery来解析服务器,但是只能在_User类上使用。