使用Swift IOS8在Parse.com中更新用户

时间:2015-03-30 03:38:24

标签: swift parse-platform

我试图通过在parse中创建的objectId来获取用户。 之后,通过递增特定键来更新该对象。在这种情况下"投票"

我尝试了以下代码,并成功获取对象然后将其强制转换为PFUser进行更新,但在后台保存期间抛出错误,声称用户必须登录或注册已经有那个用户?

感谢您的帮助。

        var sender = self.mObject["sender"] as PFUser
        var senderObjId = sender.objectId

        println(senderObjId) //prints sender user object id
        //query the user
        var query = PFUser.query()
        query.getObjectInBackgroundWithId(senderObjId, block: { (object: PFObject!, error: NSError!) -> Void in

            let user : PFUser = object as PFUser
            user.incrementKey("votes")
            user.saveEventually({ (success: Bool!, error: NSError!) -> Void in
                println(success)
            })
        })

收到特定错误:

"NSInternalInconsistencyException" with reason "User cannot be saved unless `they have been authenticated via logIn or signUp":`

1 个答案:

答案 0 :(得分:0)

您尚未使用要修改的帐户登录。 您只能编辑当前帐户,而不能编辑PFUser表中的任何帐户。 这就是我在解析时发现的:

  

用户对象的安全性

     

默认情况下,PFUser类是安全的。存储在PFUser中的数据可以   只有该用户修改。默认情况下,仍可以读取数据   任何客户。因此,一些PFUser对象是经过身份验证的,可以   修改,而其他是只读的。

     

具体来说,您无法调用任何保存或删除   除非PFUser是使用经过验证的方法获得的,   像logIn或signUp。这确保了只有用户才能改变他们的   自己的数据。

请参阅this如何登录。