2011-01-12 7 views
0

私のアプリでは、Productオブジェクトの詳細画面があります。 UIは、3つのセクションを有するグループ化されたテーブルビュータイプインタフェースを使用して表示される製品の詳細を要求する。不均一なデータを持つUITableViewのセルを定義します。

この表のセルのいくつかは条件付きです。たとえば、デフォルトでは、3番目のセクションには「製品の登録」という単一のセルが表示され、タップしたときに登録ビューを押す必要があります。製品がすでに登録されている場合は、3つ目のセクションに、保証用とサービス情報用の2つのセルが表示されます。タップすると、それぞれ別の画面に移動します。また、両方とも表のセルに何らかの種類のデータを表示する必要があります。保証セルには保証期間が満了し、次のサービスが期限切れのときにサービスセルに記載されています。

質問(finnally):特定の状況でテーブルが持つ必要があるセルとセクションを定義する最適な方法は何ですか。主に私はこれを行うための維持できない方法についてのアイデアをすでに持っているので、これを行うためのメンテナンス可能な方法を探しています。

表示されている製品に基づいて、ある種のキー付き辞書を作成し、viewWillAppear中に項目を追加/削除する必要がありますか?私はnumberを心配しています。さまざまなtableViewイベントを通して、指定されたインデックスパスにあるセルのタイプを確認するために使用しなければならないswitch文。

アイデア?

答えて

0

Matt Gallagher's Tableview Classesをご覧ください。カスタマイズ可能なTableviewsのためのシンプルで拡張可能なフレームワークを提供します。セルは、NIBからロードしたり、コードで構築することができます。各セル(- (void)configureForData:(id)dataObject)のデータを提供する簡単なインターフェイスがあります。テーブルビューを移植

は簡単です:私はそこからデータを保存/ plistの辞書と負荷を作成することをお勧めしますデータの永続的な記憶のために

[self addSectionAtIndex:0 withAnimation:UITableViewRowAnimationNone]; 
[self appendRowToSection:0 
    cellClass:[NibLoadedCell class] 
    cellData:@"This is row 0" 
    withAnimation:UITableViewRowAnimationLeft]; 

Property List Programming Guideを参照してください。複雑なデータベース構造の場合は、ストレージにコアデータを使用します。

関連する問題