【发布时间】:2017-10-13 06:33:16
【问题描述】:
我在 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)
}
}
}
})
【问题讨论】:
-
你能分享这个方法的完整代码吗,你需要在循环外计算 ratingAverage。
-
@Shabirjan 这基本上是完整的代码,我只是跳过了 if 语句的第一块,因为它与问题无关。
-
实际上是没有右括号,所以这就是为什么我要求你分享这个方法的完整代码。
-
在 self.ordersArray.append 上添加断点,看看你的对象是否被添加到数组中
-
谢谢。它说
objects = 3 values,但只有其中一个是从“评级”中检索到的。 “评分”的值是 4、4 和 5,但我只返回一个值,它是 4。
标签: ios arrays swift parse-platform sum