CloudKit,NSPredicate 在私有容器中返回计数或确定是不是存在任何记录?

Posted

技术标签:

【中文标题】CloudKit,NSPredicate 在私有容器中返回计数或确定是不是存在任何记录?【英文标题】:CloudKit, NSPredicate to return a count or determine if any records exists , in a private container?CloudKit,NSPredicate 在私有容器中返回计数或确定是否存在任何记录? 【发布时间】:2018-09-09 20:03:46 【问题描述】:

我一直在研究如何确定私有容器中是否存在任何 RecordType 记录,可能来自以前的应用安装或来自用户 iCloud 帐户中的其他设备。

我发现您无法执行 NSPredicate 记录计数。

但是我找不到替代方法来查找 any 记录是否存在?

【问题讨论】:

【参考方案1】:

没有办法计数。

如果您想确定给定记录类型是否有任何记录,请为给定记录类型执行CKQueryOperation。将查询的谓词设置为[NSPredicate predicateWithValue:YES],并将操作的resultLimit 设置为1

然后检查结果。如果有任何记录,您要么返回一行,要么不返回任何行(或者可能出现错误,看看会发生什么)。

【讨论】:

以上是关于CloudKit,NSPredicate 在私有容器中返回计数或确定是不是存在任何记录?的主要内容,如果未能解决你的问题,请参考以下文章

CloudKit 私有数据库返回前 100 个 CKRecords

使用 NSPredicate 和数组进行 cloudKit 搜索

Cloudkit 的 NSPredicate 匹配字符串

CloudKit - NSPredicate 用于在引用列表中查找包含多个 CKReference 的所有记录

CloudKit NSPredicate 不区分大小写

NSPredicate 使用 CloudKit 进行不区分大小写的字符串搜索