更新PFUser.currentUser

时间:2015-12-05 20:23:03

标签: swift parse-platform

对于我的应用,用户可以更改其当前用户名。所以使用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

        }
    }

1 个答案:

答案 0 :(得分:1)

尝试将用户名更改为其他内容。你的数据库中已经有了用户名。另一种解决方法是首先查询所有现有用户,然后使用if-else语句检查是否使用了用户名。如果它没有更新它,如果它是一个警报。干杯