1

tableView に表示するフィールドの数を含むという名前のタグが付いた xml ファイルがあり、別の xml ファイルには、その tableView に表示する情報があるとします。

問題は、プロジェクトに 2 つの異なるファイル (xmlparse1.h と .m + xmlparse2.h と .m) を作成するか、すべてのコードを 1 つ (xmlparse.h + .m) に入れ、どのファイルを区別するかです。私は現在、コードでboolまたはそのようなものを使用して解析していますか?

これが変更される可能性がある場合、Xcode 4.3 mac os x 10.7.4 で iphone アプリを開発しています。

編集:最初のファイル:

<MenuPrin>
<humidite>82,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0</humidite>
<tempmoy>
189,124,700,700,700,700,700,700,700,700,700,700,700,700,700,700,700,700,700,700
</tempmoy>
</MenuPrin>

2 番目のファイル:

<Instal>
<nbrField>2</nbrField>
</Instal>

というわけでこんな感じ。したがって、nbrField は 2 であるため、tempMoy と Humite から最初の 2 つの値を取得し、それらを tableView に表示します。

編集の終わり

4

2 に答える 2

2

両方のインスタンスで解析方法が似ている場合、効果的に同じことを行う 2 つのファイル セットを追加することは非常に非効率的であり、悪い習慣と見なされます。それぞれ特定のファイルのみを処理できる 2 つのパーサーを作成するよりも、2 つの異なるファイルを処理できるパーサーを作成する方がはるかに理にかなっています。

より具体的にあなたの質問に答えるために、私はあなたが解析しているファイルを決定し、それに応じて動作します.boolでこれを行うか、他の何かでこれを行うかはあなた次第です.

編集:これが私の頭に浮かんだアイデアです。何らかの理由でこれがうまくいかない場合(私がしばらく前に言ったように)、または誰かがより良いアイデアを持っている場合、私はすべて耳を傾けます. パーサーの定義を含む一連のファイル (.h および .m) を保持することもできます。パーサーには、タイプ Object1 と Object2 の 2 つの変数が含まれている可能性があります。これらは、最初のタイプのファイルに対して一度解析したものを格納する必要があるデータ構造に似た方法で構築され、2 番目のタイプのファイルには別の定義を格納する必要があります。ファイルの種類。このように、読み取っているファイルを特定したら解析すると、これら2つのオブジェクトのどちらに書き込むかが変更されるだけです。また、これを設定する方法には多くのバリエーションがあり、これが機能しない可能性がある場合に何をしようとしているのかについてもいくつかのケースを考えることができます。

コメントで議論されていることを考えると、2 セットのファイル アプローチが作成しようとしているアプリケーションにとってより適切であり、より理にかなっていると思われる場合、それは必ずしも悪い考えではありません。

于 2012-07-09T14:16:36.323 に答える
1

1 つのビューで 2 つのテーブル ビューを作成する場合は、単一の .h & .m ファイルを作成する必要があります...個別のテーブル ビューを作成する場合は、2 つの .h & .m ファイルを作成する必要があります...

TBXML パーサーを試してください...これが最も簡単な方法であり、xml 解析のメモリ使用量が少なくなります...

于 2012-07-09T14:16:27.707 に答える