CKQuery存在时存在CKQueryOperation的原因

时间:2016-03-14 04:31:53

标签: ios swift cloud cloudkit ckquery

除了链接不同CKQuerys的能力,以及设置检索结果限制的能力,为什么还需要CKQueryOperation? 基本上是那两个功能吗?因为我不确定CKQueryOperation的原因是什么。

2 个答案:

答案 0 :(得分:2)

CKQueryOperation对象是一个具体操作,可用于对数据库执行查询。查询操作将获取您提供的查询参数,并将这些参数应用于指定的数据库和区域,并将任何匹配的记录异步提供给您提供的块。

NSObject-> NSOperation-> CKOperation-> CKDatabaseOperation-> CKQueryOperation

查询仅限于单个区域中的记录。对于新查询,可以在初始化查询操作对象时指定区域。对于基于游标的查询,游标包含区域信息。要搜索多个区域中的记录,您必须为要搜索的每个区域创建单独的CKQueryOperation对象,尽管您可以使用相同的CKQuery对象初始化每个区域。

答案 1 :(得分:1)

CKconvenience例程非常适合它们; CloudKit的介绍,但在一些简短的节点程序中你很快发现它们的目的有一些严重的限制。

使用CKOperations,您可以进行更改,例如您希望/关心的质量服务等更改,并使用CKconvenience方法进行更多控制来监控其执行。

也许不用说,你被迫使用CKoperations进行记录维护,你可能想要构建,在你的整个应用程序中使用相同的技术。