Ios 如何使用Swift对解析中的列值求和

Ios 如何使用Swift对解析中的列值求和,ios,arrays,swift,parse-platform,sum,Ios,Arrays,Swift,Parse Platform,Sum,我在Swift中设置了一个查询,它从特定列中检索一些值。我试图返回符合查询的对象数量,然后将客户评级列的评级数字相加,然后将其与订单数量相除,以获得平均值。我在StackOverflow上发现,我可以通过在一个数组中存储不同的评级值来实现这一点,但是由于某种原因,数组中只存储了一个值,所以我不断地得到一个错误。代码如下: var ordersArray: [Int]! let query = PFQuery(className: "Orders") query.whereKey("custom

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

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)

你能分享这个方法的完整代码吗?你需要计算循环外的平均比率。@Shabirjan这基本上是完整代码,我只是跳过了if语句的第一块,因为它与问题无关。事实上,这里没有结束括号,所以我要求您共享此方法的完整代码。在self.ordersArray.append上添加断点,然后查看是否将对象添加到数组中谢谢。它表示objects=3个值,但从评级中只检索到其中一个值。评级的值是4、4和5,但我只返回了一个值,它是4。谢谢。它仍然在self.ordersArray.append上停止工作。。。rating仍然只从一行返回值,而不是从三行返回值,尽管它表示objects=3个值。除此之外,它还表示数组为零。哪个数组为零?并尝试在totalOrders上添加断点,查看ordersAmount、totalOrders和self.ordersArray的值。如果可能,我们可以进行小型teamviewer会话以了解bugi现在可用完美,我使用一个名为zoom.us的软件,因为teamviewer在计算机上崩溃。有吗?