【问题标题】:PFQuery returning blank queryPFQuery 返回空白查询
【发布时间】:2019-03-14 16:28:55
【问题描述】:

我正在尝试运行将填充自定义结构数组的 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")
}

【问题讨论】:

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


    【解决方案1】:

    找出问题所在!

    对于以后遇到类似问题的人,在确定要查询的类时,需要在前面去掉_。在上述情况下,它将是let query = PFQuery(className:"_User")。

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

    【讨论】:

    • _User 是一个特殊的类,因为它是built-in - 如果你试图访问你创建的类,你不会使用下划线。您会注意到还有其他特殊类,例如 _Role 和 _Session。因此,SDK 中有一个类可以匹配,在本例中为PFUser。您将在此处看到:docs.parseplatform.org/ios/guide/#querying 您应该如何创建查询。
    • 虽然有一个关于如何使用PFUser 类查询用户类的解释,这也可以在 iOS 文档的查询部分中提到。我欢迎在docs repo 上提出拉取请求来解决这个问题
    【解决方案2】:

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

    A 下面是一个例子(直接来自文档):

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

    您可以像使用 PFQuery 一样使用 PFUser 查询您的 Parse Server,但它只能用于 _User 类。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-02-27
      • 2016-06-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多