Swift 从 CKRecord 添加整数 return

Swift add integers from CKRecord return

我有一个 CKRecord returns 1 和 -1 的列表。我需要将所有这些加在一起以获得净值,但无法计算出来。

这里有一些代码:

let freezerQuery = CKQuery(recordType: "PumpingEntry", predicate: predicate)
let freezerSort = NSSortDescriptor.init(key: "FreezerQuantity", ascending: false)
freezerQuery.sortDescriptors = [freezerSort]

var freezerOperation = CKQueryOperation(query: freezerQuery)
freezerOperation.desiredKeys = ["FreezerQuantity"]
freezerOperation.recordFetchedBlock = { (record: CKRecord!) in
    let freezerInteger: Int = record.object(forKey: "FreezerQuantity") as! Int

    let freezerTotel = ?????????????

您需要在块外使用 freezerTotal 变量。然后只需将 freezerInteger 添加到 freezerTotal.

var freezerTotal = 0
freezerOperation.recordFetchedBlock = { (record: CKRecord!) in
    let freezerInteger: Int = record.object(forKey: "FreezerQuantity") as! Int
    freezerTotal += freezerInteger
}

然后您可以在操作的完成块中使用总数:

freezerOperation.queryCompletionBlock = { (cursor, error) in
    // do something with the total
}