Ios 斯威夫特2。使用Parse,我可以';t将PFUser.query()的结果保存在用户名数组中
我试图保存一个查询的结果,但当我试图将其保存在数组中时,它就是不这样做。 这是我的密码:Ios 斯威夫特2。使用Parse,我可以';t将PFUser.query()的结果保存在用户名数组中,ios,swift,parse-platform,Ios,Swift,Parse Platform,我试图保存一个查询的结果,但当我试图将其保存在数组中时,它就是不这样做。 这是我的密码: let query = PFUser.query() query?.orderByDescending("puntaje") query?.limit = 50 query?.findObjectsInBackgroundWithBlock({ (users, error) -> Void in if let objects = users {
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 {
我找到了另一种方法。
我用过:
当打印(self.usernames.count)时,输出是什么?复制粘贴了您的代码并进行了上面提到的修改,得到了正确的结果。
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)
}