3

CoreDataを使用してリモートオブジェクトを永続化するiPhoneアプリケーションのAPIを管理する方法を理解するのに助けが必要です。私の理解では、iOSアプリがリモートオブジェクトをフェッチすると、リソースパスにあるすべてのオブジェクトが読み込まれます。

後続のリクエストでは、最後の更新時刻以降に更新されたオブジェクトのみをWebサーバーが返すようにすることで、オーバーヘッドを削減したいと思います。これを実行するには、updated_atがリクエストのlast_update時間よりも新しいオブジェクトを返します。

次に、RestKitは、変更されたオブジェクトを解析してCoreDataにマップします。この実装は、RestKitとCoreDataを使用して同期を実行する適切な方法ですか、それともその間のどこかにレイヤーがありませんか?

ありがとう!

4

1 に答える 1

9

通常、RESTfulインターフェースは、「基本に立ち返る」ことを試みるべきです。あなたの場合、HTTPヘッダーを使用することをお勧めしますIf-Modified-Since。RestKitは何もしなくてもHTTPステータス応答を処理するため、別のパラメーターを渡すよりも少しクリーンです。

それ以外の場合、メソッドは正常に見えます。サーバーの同期は非常に大きな問題であり、それを扱う多くの文献や方法があります。もっと複雑なことをしたいのなら、簡単なウェブ検索でいくつかの方法が見つかりますが、あなたのアプローチは私が通常やっていることです。

ユーザーがアプリのデータを編集できる場合、デバイスで行われた変更を同期するという問題があります。このために、通常、オブジェクトスコープの「変更済み」フラグを設定し、オブジェクトが変更された場合にのみオブジェクトをアップロードします。

于 2012-07-02T09:04:42.427 に答える