問題タブ [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 投票する
0 に答える
223 参照

swift - 最も古い変更されたレコードによる CloudKit クエリ

私は CloudKit を使用しており、「modificationDate」でレコードをフェッチしようとしていますが、最も古いものから結果の制限を設定します。たとえば、月、火、水、木に作成された 4 つのレコードがあり、そのうちの 2 つだけを選択すると、水、木ではなく、月、火のレコードが取得されます。以下は、修正しようとしているコードです。

}

NSSortDescriptor昇順を偽にフラグを立てるのと同じくらい簡単だと思いました。しかし、これは機能しませんでした (さらにテストした結果、選択したフィールドの値が 0 のレコードのみが返されることがわかりました)。

さらに、さまざまな述語比較を試してみましたが、役に立ちませんでした。何かご意見は?CloudKit を永遠にあきらめる準備ができています。

0 投票する
1 に答える
236 参照

cloudkit - データベース内の RecordTypes のリストを取得するにはどうすればよいですか?

データベース内のすべてのレコードを一覧表示したい。

CKQuery を使用してこれを行うには、recordType が必要なようです。述語は TRUEPREDICATE になります。

CKQuery 内で最終的に使用するために、RecordTypes のリストを取得するにはどうすればよいですか? (たとえば、リストをループして、実行時に新しい CKQuery オブジェクトを作成します。)

0 投票する
0 に答える
256 参照

swift - 複数の比較による CloudKit サブスクリプション

CloudKit 通知のサブスクリプションを作成しようとしていますが、述語を正しく取得できないようです。比較述語が 1 つだけ表示される単純な通知が表示されるため、ペイロードは正しく構成されていますが、述語をもう少し複雑にすると、通知を受け取りません。複数のレコード変更をサブスクライブする必要がありますが、1 つずつ実行する必要があります。私が望むのは、IN または OR を使用してサブスクリプションを 1 つだけ持つことができるようにすることですが、うまくいかないようです。

作業述語

機能しない述語

参照用に CKQuery CloudKit ガイド ( https://developer.apple.com/reference/cloudkit/ckquery ) を使用しています。サブスクリプションの述語の実装が異なるのでしょうか、それとも間違った述語を作成しているだけですか? ちなみに、すべての述語はコンパイルされ、ブレークポイントで正しく表示され、コードにエラーはなく、アプリはどの時点でもクラッシュしません。サブスクリプションが実際にサーバー上にあり、述語を使用していることを確認しました指定しました。レコードがデバイス上で変更された場合でもサーバー上で変更された場合でも、より複雑な述語はいずれにも一致しないようです。

完成させるために、最初の述語を使用して完全に機能する残りのサブスクリプション コードを次に示しますが、残りは使用しません。

どんな助けでも大歓迎です。

0 投票する
0 に答える
567 参照

swift - CloudKit CKQueryOperation がすべてのレコードを取得しない

CloudKit の RecordType は 100 を超えるレコードです。次のコードは、これらの 11 のみから取得し、最初の 11 レコードではなく、レコードの先頭、中央、および末尾からランダムに選択されます。コードの何が問題なのかわかりません。

編集: .reselsLimit を 5000 に変更することで機能しました!