问题标签 [ckqueryoperation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
393 浏览

swift - 使用 cloudkit ckqueryoperation 批量获取

是否可以在 cloudkit 中实现“批量提取”,以便我可以调用一个方法来提取下一条 X 记录?目前,根据CloudKit Batch Fetches?cloudkit 隐式处理此问题,但我想以某种方式创建一种方法,允许我每次提取指定数量的查询。这是我到目前为止所拥有的:(其中 continuePullPosts 与我发布的方法类似)

0 投票
2 回答
755 浏览

swift4 - Swift 4 CloudKit queryCompletionBlock 似乎没有执行

我遵循了几个关于从 CloudKit 获取问题的 CKQueryOperation 示例/叙述。我的表有大约 370 行和 8 列。我最多只能获取大约 60 行。resultsLimit 参数似乎没有帮助。我的 queryCompletionBlock 没有执行。有时我获取 5 行,其他时间 30+ 来自云的响应现在很快所有行这一定是一些新手代码错误!

// privateDatabase.add(操作)

0 投票
0 回答
168 浏览

ios - 使用排序描述符时 CKQueryOperation 不返回任何结果

我正在开发一个基于 CloudKit 的项目,在该项目中使用排序描述符从数据库中获取最新结果会非常有帮助。

sortDescriptors如果删除添加的行,上述代码始终有效。即使没有结果限制,如果添加了任何排序描述符,recordFetchedBlock甚至都不会调用,但完成块是。这可能是什么原因造成的?

0 投票
2 回答
266 浏览

ios - 在私有数据库的 ckzone 中查询共享记录不返回任何内容

斯威夫特 4.2 iOS 11.x

我一定错过了一些事情,因为这肯定会起作用。我得到了在自定义区域中查询私有数据库的代码。尽管我在那里有记录,但它什么也没返回。我为所有内容添加了索引!我还更改了权限中的角色,以便任何经过身份验证的用户都可以读取记录。

notificationMedia 是一个全局静态变量,我也用它来保存所说的记录,所以它不会是错误的/不同的。

0 投票
1 回答
190 浏览

ios - 如何使用 CloudKit 通过 CKQueryOperation 进行迭代查询,直到光标为零?

我将如何声明一个从 CloudKit 检索记录的闭包,该闭包迭代地调用自身,直到获取所有记录?下面的代码可以做到这一点,除了我得到一个错误说

在自己的初始值内使用的变量

在我将闭包 queryCompletionBlock 分配给闭包本身声明中查询操作的相同名称的属性的那一行。基本上,我得到一个错误,因为我在声明闭包之前在闭包声明中调用了闭包本身。

0 投票
1 回答
189 浏览

ios - 为什么我不能从 Xcode 或 CloudKit Dashboard 查询 CloudKit?

当我尝试从 CloudKit 仪表板查询 CloudKit 时,我收到一条错误消息:

查询“条目”类型时出现问题。

未找到身份验证方法

当我尝试从 Xcode 中的代码查询相同的记录时,我从查询操作的 queryCompletionBlock 属性中的错误对象中收到错误消息:

操作无法完成。(CKErrorDomain 错误 4。)

我在哪里可以找到错误 4 的含义?

这是在调试窗口中打印错误消息的代码:

0 投票
1 回答
151 浏览

swift - 如果结果限制小于 1000,为什么我的 CKQueryOperation 只会返回游标?

CloudKit 有大约 2000 条我正在尝试下载的记录。我无法将它们全部下载,我查看了CloudKit CKQueryOperation 没有获取所有记录以获得超过 100 个结果。现在我最多可以下载 999,但如果我将结果限制设置为 1000 或更多,它将在 80-500 之间随机失败。我是否需要将这些条目拆分为不同的记录类型?

0 投票
1 回答
101 浏览

swiftui - 使用先前 CKQueryOperation 的结果运行 CKQueryOperation

我有一个应用程序是一个购物清单。我可以在我的应用程序中存储每个产品和供应商的价格,模型是

一种产品可以有来自不同供应商的多种价格。

我将价格信息与产品和供应商的引用一起存储(CKRecord.Reference)。

现在我正在使用以下内容来获取与产品相关的所有价格:

我现在的问题是我无法检索作为供应商对象 (Vendor.name) 一部分的供应商名称。

我试图遍历 priceBuffer 并按价格运行这个,但问题似乎是 CloudKit 首先完成对 fetchDataByProduct() 的初始请求,然后获取供应商数据但为时已晚,因为更新的数据没有得到推送到我的视图(SwiftUI)。

任何想法如何解决这个问题?我相信我必须在混合中添加第二个 CKQueryOperation 并使用 .addDependency() 但我无法理解它最终应该是什么样子。

0 投票
1 回答
48 浏览

nspredicate - 带有 modifyDate 的 CloudKit 查询始终不返回任何结果

User我的目标是从我在 s 数组中指定的 CloudKit获取记录,CKRecord.ID但前提是它们的更新时间比我在本地跟踪的上次更新日期更新。

我正在执行以下 CloudKit 查询:

我最初设置lastUserFetchnil我的应用程序启动时,并且查询的“第一次获取”部分成功。我取回所有用户记录。

但是一旦我在查询完成后设置我的lastUserFetch日期:

包含该部分时,我会0返回记录。modificationDate > %@当然,我修改了 CloudKit 仪表板中的记录,我可以看到它们modificationDate已经更新并且比我的lastUserFetch日期更新,但它们仍然没有在我的搜索结果中返回。

如何将modificationDate比较与recordID IN查询结合起来?