如何使用 Swift 对 Parse 中的列值求和

How to sum column values from Parse with Swift

我在 Swift 中设置了一个查询,它从特定列中检索一些值。我正在尝试 return 符合查询的对象数量,然后将客户评级列的评级数字相加,稍后将它们除以订单数量,以获得平均的。我在 Whosebug 上发现,我可以通过将不同的评级值存储在一个数组中来实现这一点,但由于某种原因,数组中只存储了一个值,所以我不断收到错误消息。这是代码:

var ordersArray: [Int]!

let query = PFQuery(className: "Orders")
query.whereKey("customer", equalTo: customerLet)
query.findObjectsInBackgroundWithBlock({(objects, error) -> Void in
     if objects!.count == 0{
        self.ratingLabel.text = ("5.0")
     }else{
        if let objects = objects{
           for object in objects{
             let ordersAmount = objects!.count            
             self.ordersArray.append((Int(object.objectForKey("rating") as! String))!
             let totalOrders = self.ordersArray.reduce(0, combine: +)
             let ratingAverage = (totalOrders / ordersAmount)
                                }
                              }
                      }
            })

还有一个问题是您的阵列未正确初始化。应该是这样的:

var ordersArray: [Int] = []()

试试这个。

for object in objects{           
    self.ordersArray.append((Int(object.objectForKey("rating") as! String))!   
}


let ordersAmount = objects!.count 
let totalOrders = self.ordersArray.reduce(0, combine: +)
let ratingAverage = (totalOrders / ordersAmount)