对于我的应用,用户可以更改其当前用户名。所以使用parse并为我下面的代码中显示的当前用户设置新用户名。然后我调用saveInBackgroundWithBlock
来保存新用户名。但是我收到了这个错误"用户名已经被采用。"但是现在PFUser.currentUser.username
被设置为无效的新用户名,即使保存失败也是如此。我打电话给fetch
并没有改变任何事情。如何更新PFUser.currentUser
?
let user = PFUser.currentUser()
user.username = newUsernameText
user.saveInBackgroundWithBlock {
(success: Bool, error: NSError?) -> Void in
if (success) {
self.helper.successAlert("Saved!", msg: "Your profile has been updated.")
} else {
// There was a problem, check error.description
self.helper.errorAlert("Error", msg: (error?.localizedDescription)!)
PFUser.currentUser().fetch()
self.user = PFUser.currentUser()
print(user.username) //prints the new username that was invalid
}
}
答案 0 :(得分:1)
尝试将用户名更改为其他内容。你的数据库中已经有了用户名。另一种解决方法是首先查询所有现有用户,然后使用if-else
语句检查是否使用了用户名。如果它没有更新它,如果它是一个警报。干杯