我正在尝试运行一个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")
}
答案 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
类上使用。