2011-06-28 1 views
4

WebサービスはiOSクライアントにデータを送信し、クライアントはUITableViewでデータを表示します。iOSでウェブサービスをどのように扱いますか? CoreDataはどうですか?

データは通常、内蔵ボード、テキストリストの記事です。これは、Webサービスからjson形式で送信されます。 (時にはXML)

リアルタイムで更新する必要はありませんが、Webサービスの読み込みによってUIをブロックしたくありません。

これを実装する方法はたくさんありますが、それであなたは適切ですか? 1.または2.?

  1. jITableViewControllerはjsonオブジェクトを処理します。

    簡単な方法ですが、コーディングするのが複雑になる可能性があります。

  2. ローカルデータベースとしてCoreDataを使用します。

    記事のローカルリポジトリがあり、jsonデータがWebサービスから取得された場合、ローカルのCoreDataリポジトリが更新されます。 (非同期Webサービスのロード)

    およびUITableViewController <>は、ローカルのCoreDataリポジトリの更新を処理し、アニメーションでUITableViewを更新します。

私は2番目の方法は、spaghetiiコードなしで実装する方がよいと思いますが、私は、他のパフォーマンスの問題があります怖い、またはそれは全く愚かなコードではありませんか?

友だちは、通常どのようにWebサービスからのデータのリストを実装していますか?


よりコメント:

私はAppleのSDKからSeismicXMLの例を見つけたが、それは仕方1.

のよく実装例ですが、私はそれがローカルリポジトリとしてCoreDataを使用することによって容易に実現することができると思います。

  1. ウェブサービス(非同期)からデータを取得し、NSFetchedResultsControllerDelegate方法で

  2. のUITableViewControllerのUITableViewアップデートCoreData

    にデータを置きます。

この戦略についてどう思いますか?

答えて

4

チェックアウトRestKit彼らはiPhone用のディスカッション掲示板クライアントの一例を持っています。これはjsonを介して掲示板サーバー(例ではレールで構築されています)からデータを取得し、それをiphoneのコアデータdbに保存します。非常にエレガントなイモ。あなたは、あなたのビューコントローラではJSONフレームワークにJSON Framework

を使用するサーバーからデータをダウンロードし、それを設定している場合

http://restkit.org/

+0

すばらしいフレームワークをご紹介いただきありがとうございます。将来の労働者にとって本当に必要なもの(私が本当に想像している以上のもの)ですが、こちらはRestkitに関するチュートリアルです。はじめに:http://mobile.tutsplus.com/tutorials/iphone/restkit_ios-sdk/コアデータ統合:http://mobile.tutsplus.com/tutorials/iphone/advanced-restkit-development_iphone-sdk/ – moon6pence

+0

あなたは大歓迎ですが、偉大なチュートリアルのリンク – ugiflezet

1

オプション1は非常に簡単です。データのダウンロードが完了したら、JSONフレームワークを使用してデータモデルを作成し、テーブルのreloadを呼び出して新しいデータを表示します。そうすれば、ダウンロード中にユーザが一時停止することはありません。

+0

はい、JSONの構文解析フレームワークでOPTION 1を実装していますが、私は自分のコードで地獄に行き、よりよい戦略やフレームワークを見つけると思っています。とにかくありがとうございました。 – moon6pence

関連する問題