これは でタグ付けされてiOS
いますが、他の Parse SDK にも役立つと確信しています。ご存じかもしれませんが、Parse はネイティブPFObject
サブクラスを作成する機能をiOS
SDK に追加しました。これは、いくつかの理由から素晴らしい追加です。まず、オブジェクト属性の動的プロパティを作成することで、コンパイラがコードをチェックできるようにします。
myObject[@"myAttribute"]
に変換されますmyObject.myAttribute
2 番目に、この質問にとってより重要なことは、カスタム サブクラスに機能を追加できることです。たとえば、Alarm
オブジェクトを Parse クラウドに保存するアラーム アプリを作成したとします。+ (instancetype)object
カスタム サブクラスでは、 、- (void)saveEventually
、および- (void)deleteEventually
メソッドをオーバーライドして、作成、変更、または削除時にオブジェクト自体をalarm
スケジュール/更新/削除できるようにします。UILocalNotification
ここで問題が複雑になり、私の実際の質問が出てきます。ユーザーが 1 つのデバイスでアラームを作成し (クラウドにアップロード)、別のデバイスに自動的に同期するとします。PFQuery
2 番目のデバイスは、バックグラウンドで's'を使用してコンテンツを更新し、各オブジェクトを- (BFTask *)findObjectsInBackground
呼び出し- (BFTask *)fetchIfNecessaryInBackground
て、その実体がすべてデバイス上にあることを確認します。PFObject
私の質問は、Parse クラウド データベースからサブクラスが見つかった/フェッチされたときに、どのメソッドが呼び出されるかということです。さらに言えば、ローカル データストアから初期化されたオブジェクトについてはどうでしょうか。
前述したように、さまざまなメソッドのオーバーライドは、デバイス上で作成および管理されるオブジェクトに対しては完全に機能しますが、ローカルまたはリモートのデータストアからメモリに到着したばかりの新しいオブジェクト内からカスタム コードを実行する方法については困惑しています。これを処理する方法についての考えや提案は大歓迎です。Parse のドキュメントはそのようなケースをカバーしていないため、ベスト プラクティスでさえないかもしれませんが、そうすべきだと私には思えます。とにかく、あなたの時間とあなたの洞察に感謝します。