1

「興味深い場所」のリストを含む Web サーバーがあります。これらは Web サーバー上で「ハードコード」されており、サーバー側の管理者によって維持されます。ユーザーは何も追加または削除できません。

私のアプリ内から、「場所を取得する」ボタンを作成したいと思います。アプリは Web サーバーに接続し、その「興味深い場所」リストを要求する必要があります。

Core Data を使用しており、モデルに InterestingLocation エンティティがあります。目標は、Web サーバーからデータを取得し、それを Core Data を使用してデバイスに永続化して、インターネットに接続していなくてもアクセスできるようにすることです。

私の考えは、サーバー側で XML を使用し、InterestingLocation の「オブジェクト」を XML ファイルに出力することでした。100個ほどしかないので、それほど多くはありません。

クライアント側 (デバイス) では、おそらく XML-RPC でしょうか?

いくつかの提案と、どこで/どのように開始するかについての詳細情報をいただければ幸いです:)

4

2 に答える 2

4

私のアドバイスはそれをシンプルに保つことです。サーバー側では、RESTful原則を使用して、インターフェースを可能な限りシンプルにします。

次に、iPhoneアプリで行う必要があるのは、を使用しNSURLConnectionてURLを取得することだけです。NSURLConnectionこれは、離れた場所からファイルをダウンロードするための非常に優れた非同期の方法です。

その後は、XMLまたはJSONを解析し、適切なCoreDataオブジェクトを作成するだけです。私は通常、このようなインポート操作を別のスレッドの別の管理対象オブジェクトコンテキストで実行するのが好きです。管理対象オブジェクトコンテキストを保存するときは、を使用NSManagedObjectContextDidSaveNotificationして変更をメインの管理対象オブジェクトコンテキストにマージします。

于 2010-01-19T19:22:08.367 に答える
1

どんな種類のサーバーがありますか? サーバーが Java ベースの場合は、Fredrik Olssonによる HessianKitを参照することをお勧めします。通常の Objective-C 型にエンコード/デコードし、NSArrays と NSDictionaries に入れると、エクスペリエンスがよりスムーズになります。

于 2010-01-19T19:26:28.977 に答える