問題タブ [local-datastore]
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.
ios - 最終的に PFFile (Parse Local Datastore) を使用して PFObject に保存しますか?
ゴール
を属性としてPFObject
持つを保存しようとしています。PFFile
iOS用の新しいローカルデータストアPFObject
を使用しているので、これをsaveEventually()
メソッドで保存したいと思います。
問題
私が遭遇している問題は、saveEventually()
メソッドがPFFiles
. saveEventually()
何も付けずに自分のオブジェクトを試してみましたが、PFFile
うまくいきました。私が再接続されるとすぐにPFFile
、Xcode はいくつかのブレークポイント通知 (エラー?) をスローしましたが、アプリを終了しませんでした。 . ローカル データストア機能が導入される前は、この保存が可能だったとは思えません。エラー
がスローされていたでしょう。iOS Local Datastore docs"Unable to saveEventually a PFObject with a relation to a new, unsaved PFFile."
に記載されているように、Local Datastore 機能によってこれが修正されたようです。
「PFObject の固定は、保存と同様に再帰的であるため、固定しているオブジェクトが指すオブジェクトもすべて固定されます。オブジェクトが固定されると、新しいデータを取得または保存して更新するたびに、コピーがローカル データストアは自動的に更新されます。まったく心配する必要はありません。」
SDK を最新バージョン (v1.6.2) に更新しました。何か案は?
parse-platform - Parse ローカル データストア (iOS 上) の onSave フックはありますか?
Parse Cloud Codeは、オブジェクトが保存されるときにバックエンドでカスタム アクションを実行できる保存時フックを提供しますが、iOS SDK には、メソッドを使用してオブジェクトがローカル データストアに保存されるときの同様のフックがありません-save(Eventually)*
。
アプリケーションの UI の更新、テーブルの更新など、データを変更してカスタム アクションを実行したいのですが、どうすればよいですか? 観察できるものはありNSNotification
ますか?
parse-platform - Parse ローカル データストア クエリは 1000 オブジェクトに制限されていますか?
Parse iOS Guideによると、通常、クエリは最大で 1000 個のオブジェクトを返すように制限されています。これは他のプラットフォームにも当てはまります。
ただし、オブジェクトはローカルに保存されるため、この制限を適用する理由はありません。当てはまりますか?
parse-platform - Parse Local データストアに固定されたオブジェクトは、バックエンドで削除されると削除されますか?
と の 2 つの iDevice がある device1
としdevice2
ます。foobar
どちらのデバイスも、Parse バックエンドから取得したオブジェクトを固定しています。
device1
を実行-deleteEventually
しfoobar
ます。これにより、オブジェクトの固定も自動的に解除されます。この削除はバックエンドに伝播され、バックエンドは foobar を削除しました。
device2
通常はフェッチするクエリを実行しますfoobar
。ただし、欠落しています。
foobar
のdevice2
ローカル データストアはどうなりますか?
parse-platform - Parse Local Datastore で、ピン名のクエリを実行するにはどうすればよいですか?
オブジェクトをピン留めするときはいつでも、オブジェクトは常に暗黙的または明示的に ( [object pin*]
vs. [object pin*WithName:@"pin name"]
、 * はオプション) ピン名(デフォルトまたはユーザーが指定しInBackground
たピン名) に関連付けられます。PFObjectPinName
クエリを実行する場合も同様に、クエリ元のピン名を暗黙的または明示的に指定します。ただし、システム上のすべてのピン名を必ずしも知らなくても、ローカルに保存されているすべてのオブジェクトを知りたいです。
どうすればこれを達成できますか?
ios - Parse iOS - PFObject をローカルに保存し、後で手動でサーバーにアップロードする方法は?
私は PFObject を作成し、それをローカルに保存して、ユーザーがアプリを終了した場合 (または禁止されている場合はクラッシュした場合)、オブジェクトはデバイス上でそのまま残りますが、ユーザーが送信する準備ができるまでサーバーにアップロードされないようにします。これは可能ですか?
「saveEventually」メソッドがあることは知っていますが、それについての私の理解では、ある時点でサーバーに自動的に保存されますが、これは私が望んでいるものではありません。ローカルにのみ保存し、ユーザーが完了したときにのみサーバーにアップロードしたいです。
ios - ローカル データストアに固定できる PFObject の数は? (iOS)
iOS アプリでは、約 8000 ~ 9000 個の PFObject を固定しています。アプリを再起動して、以前に固定されたすべてのオブジェクトを読み込もうとすると、約 5000 しか得られません。私のクエリでは、結果を制限していません。クラス内の固定されたすべてのオブジェクトをロードするだけです。ピン留めされたオブジェクトの量に制限はありますか? これはおそらくバグでしょうか?
更新: 9000 個のオブジェクトすべてをダウンロードしてピン留めしようとしたテスト プロジェクトを作成しました。すべてに適切なコールバックを使用しました。結果: 9000 個のオブジェクトをピン留めするのに 8 分かかりました。多くのメモリ警告が表示され、アプリ (バンドルには 12 MB あります) は 300 MB のメモリを取得します。
これは Parse SDK のバグのようです。
似たような経験をした人はいますか?