我试图保存查询的结果,但当我试图将其保存在数组中时,它并没有做到这一点。这是我的代码:
let query = PFUser.query()
query?.orderByDescending("puntaje")
query?.limit = 50
query?.findObjectsInBackgroundWithBlock({
(users, error) -> Void in
if let objects = users {
for object in objects {
self.usernames.removeAll(keepCapacity: true)
self.scores.removeAll(keepCapacity: true)
if let user = object as? PFUser {
print(user.username)
self.usernames.append(user.username!)
self.scores.append((user["puntaje"] as? Int)!)
}
}
}
print(self.usernames.count)
})
打印user.username时,会显示所有用户名。
在打印中,它显示我有0个用户名。
您需要移动
self.usernames.removeAll(keepCapacity: true)
self.scores.removeAll(keepCapacity: true)
在"for"循环上方。下方
if let objects = users {
我找到了另一种方法。我用过:
let query = PFUser.query()
query?.orderByDescending("puntaje")
query?.limit = 50
do {
if let users = try query?.findObjects() {
for user in users as! [PFUser] {
let name = user.username!
self.usernames.append(name)
self.scores.append((user["puntaje"] as? Int)!)
}
}
}catch {
print(error)
}