问题标签 [ckquery]

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 回答
929 浏览

ios - CloudKit:CKQuery 显示错误:错误:操作无法完成。(CKErrorDomain 错误 1。)

我正在开发实现 cloudkit 的 iOS 应用程序,但我需要查询 ID 大于数字的所有记录。例如,我有 ID 为 23 的记录:

在此处输入图像描述

这是我的代码:

但我收到以下错误:

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

你们中的任何人都知道如何设置我的 NSPredicate 以获取 ID 大于 23 的所有记录?

我会非常感谢你的帮助。

0 投票
1 回答
98 浏览

ios - 带有记录 ID 的查询操作

我有一个recordID.recordName(在这个例子中是singleID),我想用queryOp查询;经过一些搜索和实验后,我设法将这段代码放在一起......这可行,但它真的正确吗,也许有更短的路径。

0 投票
1 回答
914 浏览

ios - CloudKit 复合查询(使用 OR 查询)

我想使用 OR 和两个字段来查询 CloudKit。但我找不到如何做到这一点的方法。我所做的是:

但不幸的是 CKQuery 不支持 OR 查询(如文档中所写)我可以通过其他方式实现此效果吗?

0 投票
2 回答
704 浏览

swift - CloudKit - 每次运行相同的查询时,CKQueryOperation 结果都不同

就是这种情况——我正在使用一个简单的 UITableView 来呈现来自 CloudKit publicDB 的记录。当我运行该应用程序时,查询操作返回例如返回 2 个结果(这就是它目前的全部)。

我的表格视图有一个刷新控件,当我拉动刷新时,我得到零结果,如果我继续重新加载,最终可能会出现结果,但现在总是。

同样的事情也会发生更多的结果,我曾经有我查询过的 CKLocation 类型,并且响应总是不同的,没有任何常识

一些示例代码(本例中的谓词是 TRUEPREDICATE - 没什么特别的):

recordFetchBlock所做的只是将对象添加到表视图用作数据源的可变数组中。

我是 CloudKit 的新手,我很困惑这是设计使然(不是返回所有结果,而是返回一些随机结果)还是我做错了什么?

0 投票
1 回答
1385 浏览

ios - 如何以编程方式在云工具包中标记可查询的记录类型

每当我以编程方式创建新的 CKRecordType 时,我都会遇到 cloud-kit 的问题。在云套件仪表板中,这是我收到的错误消息:在此处输入图像描述

快速简单的解决方法是单击“添加 ID 查询索引”按钮并完成它,但是,我想知道是否有办法以编程方式完成此操作。原因是因为在部署应用程序时,用户将能够创建新的记录类型,如果每次用户决定创建新记录时我都必须检查 cloud-kit,那将是一个很大的麻烦和麻烦类型。

任何帮助,将不胜感激!

0 投票
1 回答
101 浏览

ios - 如何按字段和记录类型执行查询

我想知道是否可以通过它的记录类型以及它在数据库中的字段来搜索 CKRecord。例如,这是我现在必须获取记录的代码:

这仅搜索记录类型,对于我的程序,我需要能够更深入并指定一个字段以进行搜索。任何帮助将不胜感激!

0 投票
1 回答
449 浏览

ios - CloudKit 仅获取第一条记录

我想知道如何从 CloudKit 表中获取第一条记录。例如,我有一个“类”表,我只想获取上次修改的类,而不是像现在这样获取所有类:

0 投票
1 回答
1464 浏览

swift - 使用新游标多次执行 CKQueryOperation

我有CKQueryOperation一千条记录,因此我需要多次执行该操作。我尝试更改光标并添加如下代码中的操作:

运行时它崩溃并返回[NSOperationQueue addOperation:]: operation is executing and cannot be enqueued。我能做什么?之后我还有其他操作依赖于这个 queryOperation 所以我需要在启动其他之前正确命中CKOperation

0 投票
1 回答
148 浏览

ios - CKQueryOperation iOS 9 只能在插入时工作

我在我的 iOS 9 应用程序中使用 CloudKit,CKQueryOperation并且在插入 Mac 时工作正常并按预期执行。只要查询在未插入 Mac 时运行,它就不会完成。没有错误消息,我添加的活动指示器永远不会停止,结果也永远不会显示。

如果我在拔掉电源时开始操作,那么插入它也完成。

该代码是从 Xcode 6.4 中构建的应用程序复制和改编的,并在该应用程序中按预期工作。

任何想法为什么会发生这种情况?这可能与 iOS 9 中的应用程序精简有关吗?

谢谢

回答

添加这个解决了这个问题: queryOperation.qualityOfService = NSQualityOfService.UserInitiated

0 投票
0 回答
119 浏览

ios - CloudKit 保存记录完成

我正在使用下面的代码来更新记录。更新记录后,我想运行刷新功能。目前,刷新函数有时会在记录更新之前调用,因此刷新结果与记录更新之前相同。

谢谢