swift – CloudKit计数记录
发布时间:2020-12-14 05:35:40 所属栏目:百科 来源:网络整理
导读:我有一个“表”可能有许多记录,当添加一个新记录时,我需要知道当前表中已经有多少条记录,因为我在计算某些值时使用它.我找到的最接近的事情是请求所有这样的条目: var query : CKQuery = CKQuery(recordType: "Stars",predicate: NSPredicate(format: "mass
我有一个“表”可能有许多记录,当添加一个新记录时,我需要知道当前表中已经有多少条记录,因为我在计算某些值时使用它.我找到的最接近的事情是请求所有这样的条目:
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,但不幸的是它没有. 有没有办法计算表中的行数?
不,不可能获得符合您的查询的记录总数.也可以列举结果,答案可能是错误的. CloudKit返回的记录数并不固定. CloudKit有一个机制来决定要返回多少条记录.可以在CKQueryOperation对象上将其设置为固定数字.默认值为:
operation.resultsLimit = CKQueryOperationMaximumResults; 该物业的文件说:
如果您的计数与此固定数量相同,那么可能比您的查询返回的记录多. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |