0

サーバーから XML ファイル (または同様のもの) にアクセスする iPhone アプリケーションを開発しています。そのデータを、iPhone で洗練されたネイティブ UI に変換したいと考えています。私の現在の知識では、ファイルをロードして解析し、カスタム コードを記述してデータ構造を埋め、データをユーザー インターフェイス要素に変換することで、すでにこれを行うことができました。ただし、これは iPhone 開発ではよくある問題であることを知っているので、プロセスの一部を抽象化できる、より単純な方法があると考える傾向があります。

車輪の再発明をせずにハイブリッド アプリを作成するための最善かつ最も適切な方法は何ですか?

4

1 に答える 1

0

いくつかの既製の抽象化がありますが、そのほとんどは XMLRPC に焦点を当てており、少し扱いに​​くくなりがちです。

あなたの最善の策は、おそらくNSXMLParserDelegate十分に簡単な を書くことです。次に、を使用してパーサーを作成するだけ-initWithContentsOfURL:です。この方法では、XML ファイルの読み込みと解析が 1 つのステップになります。そして、データ構造を作成しながら進めていきます。UI 要素への変換は、通常の抽象化メカニズム (dataSource とデリゲート) で行われます。

これにより、外部から課せられた XML スキーマの制約から解放されますが、XML ファイルが比較的軽量であるか、または (重大な) インターフェイス ラグがある可能性があることを前提としています。特にファイルがそれぞれ数 KiB を超える場合は、別のスレッドで XML をロードし、より多くのデータが利用可能になったときにインターフェイスをリロードするのが賢明です (それほど頻繁ではありません)。

編集:いくつかのメモ: 全体として、リモートで複雑なことをしている場合でも UIWebView を避けたいと考えています。ネイティブ コントロールほど高速ではなく、通常、結果アプリケーションのルック アンド フィールは少し異なります。

また、多かれ少なかれXML-file => UITableView型アプリケーション、または少なくとも概念的に類似したものが必要なように思えます。これは非常に簡単に構築できます。最も難しいのは、肥大化することなく必要な情報を含む XML 形式を見つけ出すことです。実際、そこから始めることをお勧めします。XML コンシューマーとナビゲーション コントローラーのみ。それを出発点として使用すると、構造が正常であり、ファイルが大きすぎないことを確認できます。これにより、UIWebView の使用に関する別の問題が発生します。

特にJSを使用してファイルを処理または取得する場合は、キャッシュを制御できません。これは、ほとんどの Web ブラウジングでは問題ありません。WebKitは通常、正しいことを行います。特に、正常な Web サーバー構成 (実際の構成ではなく、構成の実際の結果: 正常なヘッダー) に直面した場合は特にそうです。

カスタム ビルドのパーサーとキャッシュ システムを使用すると、より高度な制御が可能になり、厳密に言えば必要以上にダウンロードしないようにするために使用できる多くのトリックが得られます。

于 2010-07-12T21:45:56.520 に答える