ios - Swift 从 CKRecord 返回添加整数

标签 ios swift cloudkit

我有一个 CKRecord 返回 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 = ?????????????

最佳答案

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

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

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

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

关于ios - Swift 从 CKRecord 返回添加整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44636412/

相关文章:

android - 在 iOS 上不接收通知 react-native-push-notification

ios - iOS中如何检测文件是否被修改?

swift - 如何在没有 ScrollView 的情况下为键盘移动带有文本字段的 ImageView ?

Android:如何在同一用户的设备之间同步存储在 Room 数据库中的应用程序数据?

swift - 在 iCloud 数据库中上传 Assets 之前发送的记录更新推送通知

ios - CKModifyRecordsOperation modifyRecordsCompletionBlock 未被调用

ios - Amazon EC2 上的 Apple 推送通知服务器已连接但未收到通知

ios - 第二次点击 Titanium map 注释不起作用

iOS : http Post using swift

swift - 如何为通用函数过滤或有多个选项?