0

私はまだ小さな薬の iPhone アプリを開発しようとしています。:-] ここ数日で、テーブルに表示する必要があるすべてのデータを構造化しました。本を読み、多くのチュートリアルを見た後、単純な Table View アプリケーションをいくつか作成しました。これらのアプリには常に事前定義されたデータの深さがありました。私が言っている意味が理解できるかどうかわかりませんので、次のリンクを開いて私のグラフィックを比較してください。

グラフィックはこちらからご覧いただけます!

ファイルhierarchie1.pngは、アプリで既に使用している通常のデータ階層を示しています。私のデータは、ファイルhierarchie2.pngのように構造化されています。

残念ながら、私は iPhone 開発の経験があまりありません。私の考えは、ツリーのすべてのセクションに独自のView Controllerを作成することです。

  • EintragA ViewController は1 - 2 - 3を管理します
  • Eintrag1 ViewController は1.1を管理します
  • Eintrag11 ViewController は1.1.1 - 1.1.2などを管理します...

私が言いたいことを理解していただければ幸いです。

私が知りたいのは、私のアイデアがその種のデータを実現するための正しいアプローチであるかどうかです。または、それを行う別のより良い方法はありますか?

4

2 に答える 2

1

Xcode がテンプレート プロジェクトとして提供する「ナビゲーション ベースのアプリケーションUINavigationController」のサンプルを確認してください。

基本的に、アプリケーション内の各子ノードタイプ(" Eintrag " タイプ) はUIViewControllerサブクラスになります。

ビュー コントローラーへの参照は、UINavigationControllerスタックに配置されます。参照をプッシュおよびポップして、ビュー階層をナビゲートします。

各View Controllerで、別の子ノードを開く-pushViewController:animatedには、Navigation Controllerでメソッドを呼び出します。次に例を示します。

[self.navigationController pushViewController:eintragType1Instance animated:YES]; 

通常、アプリケーション ウィンドウの左上隅に「戻るボタン」があります。これにより、プログラム的には次と同等の「ポップ」がトリガーされます。

[self.navigationController popViewControllerAnimated:YES];
于 2009-09-19T19:44:19.680 に答える
0

ツリーの種類ごとに、任意のレベルのノードがすべて同じタイプである場合、あなたの考えは理にかなっています。したがって、EintragA セクション 1 のテーブル セルは、EintragA セクション 2 で使用されるセルと同じ種類です。

より深いレベルにプッシュすると、同じタイプのビュー コントローラーの新しいインスタンスを作成し、表示するデータのレベルを伝えることができます。

于 2009-09-19T21:31:45.113 に答える