我有一个可能有很多记录的“表”,在添加新记录时,我需要知道当前表中已经有多少记录,因为我在计算某些值时使用它。我能找到的最接近的事情是请求所有这样的条目:
var query : CKQuery = CKQuery(recordType: "Stars", predicate: NSPredicate(format: "mass > 0"))
var request : CKQueryOperation = CKQueryOperation(query: query)
var starCount = 0
request.queryCompletionBlock = {
(cursor:CKQueryCursor!, error:NSError!) in
if error {
completionHandler(ECOResponse.error(error.description), starCount)
} else {
completionHandler(ECOResponse.ok(), starCount)
}
}
request.recordFetchedBlock = {
(record:CKRecord!) in
starCount += 1
}
我希望 queryCompletionBlock 与 CKQueryCursor 一起提供计数或结果数组,但不幸的是它没有。
还有其他方法可以计算表中的行数吗?