繁体   English   中英

如何使用iOS Swift在Parse云中递减值?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM