我正在尝试在“投票”列下的我的解析表中增加一个数字。这是我的代码:
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;}
但是当我看到我的解析结束时,投票数没有改变。我做错了什么?
答案 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()
异步保存对象。