无法更新解析用户详细信息 - Swift

时间:2016-09-01 18:05:45

标签: ios swift heroku parse-platform

我在AppDelegate.swift上使用以下代码检查用户是否已登录以更改默认视图控制器。

 if let user = PFUser.currentUser()!["username"] {

        print("asldkeu \(user)")
        // Code to execute if user is logged in
        let storyboard = UIStoryboard(name: "Main", bundle: nil)
        let viewController = storyboard.instantiateViewControllerWithIdentifier("MainViewController")

        self.window?.rootViewController = viewController
        self.window?.makeKeyAndVisible()

    } else {
        // Default screen you set in info plist.
    }

哪个正常,但问题是我无法更新我的在线解析用户数据。每当我尝试更新我的Heroku Parse应用程序上的任何数据时,我都会得到以下错误代码:

  

错误域=解析代码= 206"无法修改用户Jpibm8rWyI" UserInfo = {code = 206,temporary = 0,error =无法修改用户Jpibm8rWyI,NSLocalizedDescription =无法修改用户

我使用下面的代码来更新解析数据:

if let games = PFUser.currentUser()?["gamesWon"]! {
            print("asldkeu server: \(games as! Int)")

            gamesWon = (games as! Int) + 1
                print("asldkeu update: \(gamesWon)")
            }


            PFUser.currentUser()?["gamesWon"] = gamesWon

            do {
                try PFUser.currentUser()!.save()
            } catch {
                print("asldkeu \(error)")
            }}

如果我使用PFUser.currentUser()!. saveInBackground()我没有收到错误,但数据没有保存。

如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

您不会强行打开用户。

而不是PFUser.currentUser()?["gamesWon"] = gamesWon

使用

PFUser.currentUser()!["gamesWon"] = gamesWon

请注意,有一个!而不是?