解析后端:密钥不会递增?

时间:2015-08-22 21:27:18

标签: ios swift parse-platform

我正在尝试在“投票”列下的我的解析表中增加一个数字。这是我的代码:

func upVote() {
    var reviewQuery: PFQuery = PFQuery(className: "reviews")
    reviewQuery.whereKey("content", equalTo: reviewTextView.text)
    reviewQuery.findObjectsInBackgroundWithBlock{
        (objects:[AnyObject]!, error:NSError!)->Void in

        if error == nil{

            for object in objects{
                println(object)
                let review:PFObject = object as! PFObject
                review.incrementKey("votes", byAmount: 1)
            }
        }
    }

}

当我在控制台中打印对象时,我可以看到它是我正在寻找的正确对象。它看起来像这样:

<reviews:ZqgSVL1Tsd:(null)> {
content = "njk\n";
reviewer = "<PFUser:6387CJtYI1>";
votes = 1;}

但是当我看到我的解析结束时,投票数没有改变。我做错了什么?

2 个答案:

答案 0 :(得分:2)

使用

保存对象
review.saveInBackground()
递增密钥后

答案 1 :(得分:1)

修改对象后,无论修改多么小,都必须在修改后保存。您没有将更改保存到对象review

您有多种保存选项,包括save()saveInBackground()saveEventually()等。有关更多信息,请参阅PFObject的文档: https://www.parse.com/docs/ios/api/Classes/PFObject.html#//api/name/save

例如,您可以同步保存对象 review.save()您可以使用review.saveInBackground()异步保存对象。