異なる CKQuery をチェーンする機能と、取得結果の制限を設定する機能以外に、なぜ CKQueryOperation が必要なのですか? 基本的にそれらの2つの機能ですか?CKQueryOperation を使用する理由がわからないからです。
2 に答える
オブジェクトは、データベースに対してクエリを実行するCKQueryOperation
ために使用できる具体的な操作です。クエリ操作は、指定したクエリ パラメーターを受け取り、それらのパラメーターを指定されたデータベースとゾーンに適用して、一致するレコードを指定したブロックに非同期で配信します。
NSObject-> NSOperation-> CKOperation-> CKDatabaseOperation-> CKQueryOperation
クエリは、1 つのゾーン内のレコードに制限されます。新しいクエリの場合、クエリ操作オブジェクトを初期化するときにゾーンを指定します。カーソル ベースのクエリの場合、カーソルにはゾーン情報が含まれます。複数のゾーンでレコードを検索するには、検索するCKQueryOperation
ゾーンごとに個別のオブジェクトを作成する必要がありますが、それぞれを同じCKQuery
オブジェクトで初期化できます。
CKconvenience ルーチンは、それ自体が非常に優れています。CloudKit の紹介ですが、いくつかの短いノディー プログラムの中で、その目的には深刻な制限があることがすぐにわかります。
CKOperations を使用すると、必要なサービスの品質などの変更などの変更を行い、CKconvenience メソッドを使用する場合よりもはるかに詳細に制御して実行を監視できます。
言うまでもなく、レコードのメンテナンスに CK 操作を使用することを余儀なくされたので、アプリ全体のコードで同じ手法を使用したいと思うかもしれません。