[英]How to decrement a value in Parse cloud using iOS Swift?
也许这个问题是非常基本的,但是我正在寻找减少价值的好方法。 我在_User表中有一个名为“ credit”的列。 默认值为0。我想从此列中减去1个信用。 这是我到目前为止的内容:
//Decrement user credit
let query2 = PFQuery(className:"_User")
query2.whereKey("user", equalTo: PFUser.currentUser()!)
query2.getFirstObjectInBackgroundWithBlock {
(object: PFObject?, error: NSError?) -> Void in
if error != nil
{
PFUser.currentUser()!["credit"] = (PFUser.currentUser()!["credit"] as! Int) - 1
self.navigationController?.popViewControllerAnimated(true)
}
}
为了减少(也增加)特定字段,Parse具有一些内置方法:
object.incrementKey("key")
object.incrementKey("key", byAmount: 2) // any int amount
object.decrementKey("key")
object.decrementKey("key", byAmount: 2) // any int amount
因此,在该查询中获取用户对象后,您的代码将变为:
PFUser.currentUser().incrementKey("credit")
PFUser.currentUser().saveInBackgroundWithBlock {
(success: Bool, error: NSError?) -> Void in
if (success) {
// The credit key has been incremented
} else {
// There was a problem, check error.description
}
}
请参阅计数器上的此处解析文档。
object.decrementKey("key", byAmount: myIntValue)
已从Parse SDK方法中删除(至少在iOS中已删除)。
该文档不再是最新的。
您现在可以通过增加负值来递减,如下所示:
object.incrementKey("key", byAmount: NSNumber(value: -1 * myIntValue))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.