0

これが私の最初の質問です。アプリを App Store にリリースした後、リモート サーバーから UITableView のコンテンツ (行) を更新する方法があるかどうかを尋ねたいと思います。

私は何人かの人々で満たされた UITableView を持つアプリケーションを実行しています。そのうちの 1 つをクリックすると、その人物の経歴、YouTube チャンネル、Twitter および Facebook ページが表示されます。

時々リストに人を追加する方法を見つけたいだけですが、TableViewController.mを変更せずにそれを行う方法がわかりません

私が望まないのは、UITableView に何かを追加する必要があるたびにアプリを更新しなければならないことです。

4

3 に答える 3

3

もちろんそれは可能です。多くのアプリがそうしています。Apple のメール アプリと同様ですが、サードパーティのアプリも同様です。さまざまなアプローチを使用できますが、問題に関するより正確な情報がなければ、何が適切かを判断するのは困難です。一般的な提案を次に示します。

サーバー上に単純な RSS フィードまたはプレーンな XML ファイルをセットアップし、そこからリストを時々ポーリングすることができます。

または、データを変更できる単純なバックエンドを備えた基本的な (SQL) データベースを使用することもできます。その後、このデータベースからコンテンツをダウンロードできます。

メインスレッドをブロックしないように、ダウンロードプロセスは別のスレッドで実行する必要があります。を使用するNSURLConnectionと、自動的に行われます。ダウンロードが完了したら、テーブル ビューを更新します。

編集:

問題を細かく分割し、1 つずつ解決する必要があります (分割統治)。

NSURLConnection最初に、テキスト ファイルをダウンロードしてその内容をコンソールに記録する方法を確認します。これはそれほど難しいことではありません。ドキュメントを読んで、うまくいかない場合はより具体的な質問をしてください。

次に、使用する形式 (RSS、plist、プレーン XML、JSON、その他...) を決定し、そのようなファイルをダウンロードして解析してみます。plist ファイルは解析が最も簡単ですが、サーバー上で手動で編集するのは難しい場合があります。XMLパーサーとJSONパーサーも利用できます。

データの複雑さに応じて、いくつかのモデル クラスを実装し、ダウンロードした情報をそれらに渡したい場合があります。これが目的の場合は、Core Data を使用して、ユーザーがアプリを閉じたときにオブジェクトをローカルに保存することを検討してください。を使用して、ダウンロードしたファイルをディスクに保存することもできますNSFileManager

最後のステップは、電話にローカルに保存されているデータをテーブル ビューに入力することです。これはそれほど難しいことではなく、これに関するチュートリアルがたくさんあります。

于 2012-07-02T22:27:27.627 に答える
1

テーブルの" UITableViewDataSource" プロトコルに応答するように指定したアプリ内のオブジェクトは、テーブル ビューにデータを配信する役割を果たします。ただし、配信されるデータの種類は、ユーザーと実装次第です。

UITableViewDataSource プロトコルに応答するオブジェクトは、必要なメソッド (セクション内の行数、インデックス パスの行のセルなど) を満たす必要があります。したがって、リモートサーバーから追加のデータを提供したい場合は、それを確実に行うことができますが、サーバーに到達できない場合 (WiFi またはセルサービスがない場合) のような障害ケースを処理できることも確認する必要があります。

于 2012-07-02T22:27:38.013 に答える
0

TableView をどのように埋めますか? 情報はどこにありますか?それがコードにある場合、それは悪い考えであり、設計が悪いからです。

テーブルを埋めるための情報を Web サービスから取得することをお勧めします。そうすれば、アプリを更新する必要がなく、必要なだけ多くの人を送信できます。

于 2012-07-02T22:26:13.147 に答える