2011-06-17 18 views
0

私は、 - >日(テーブル) - >時間(テーブル) - >情報(ビュー)のような階層を持っています。テーブルビューの要素を保存する最も良い方法は?

情報をNSDictionaryとして保存することをお勧めします。Daysをキーとして、各キーのNSArrayとしてのTime、NSArrayとしてのDaysを別のNSArray for Timeと一緒に保存しますか?注意すべき

主なもの:

  1. 私は、日と時間の並べ替えをしたいと思います。
  2. 私は望むなら、NSArray内のいくつかのTimeデータを削除することができます。

答えて

0

アレイ内の要素を削除または置換する場合は、変更可能なバージョンNSMutableArrayおよびNSMutableDictionaryを使用する必要があります。私はおそらくこの目的のために配列を使用します。

+0

ええ、私はNSMutableArrayとNSMutableDictionaryを使用しているはずです。 – jylee

0

日のNSMutableDictionaryとNSMutableArrayを毎日使用します。こうすることで、2つの別々の配列を同期させないようにするのを避けることができます。なぜなら、各「日」キーは常にあなたの配列を指しているからです。

配列は配列なのでいつでも並べ替えることができ、キーに基づいてテーブルに日を表示する方法を選択できます。 [dictionary allKeys]メソッドを使用すると、すべてのキーの配列にアクセスできます。

たとえば、viewDidLoadでは、[dictionary allKeys]メソッドを使用して辞書のキーの配列を取得できます。どのような方法でもこれをソートしてから、cellForRowAtIndexPath tableviewデータソースメソッドで配列を反復処理することができます。

-(void)viewDidLoad { 
    /* keys = NSMutableArray instance variable 
     dictionary = the dictionary of days, with each days value being an array of times 
    */ 
    keys = [dictionary allKeys]; 

    //sort however you want 
} 

そしてあなたdidSelectRowAtIndexPathデリゲートメソッドでは、あなたは彼らが選択のindexPath.rowとあなたの鍵アレイの行に基づいて選択されたキーを知っています。

関連する問題