2011-06-17 126 views
0

我有一個類似於 - >天(表) - >時間(表) - >信息(視圖)的層次結構。存儲表格視圖元素的最佳方法是什麼?

將信息存儲爲NSDictionary,將Days作爲關鍵字並將Time作爲NSArray作爲每個關鍵字,或將Days作爲NSArray與另一個NSArray作爲Time一起存儲會更好嗎?

重點要注意的事情:

  1. 我想那種日子和時間。
  2. 如果我願意,我可以刪除NSArray中的一些Time數據。

回答

0

如果要刪除或替換數組中的元素,則必須使用可變版本NSMutableArrayNSMutableDictionary。我可能會爲此使用一個數組。

+0

是的,我應該說我正在使用NSMutableArray&NSMutableDictionary。 – jylee

0

我會使用每天NSMutableArray的天NSMutableDictionary爲每一天。這樣你避免試圖保持兩個單獨的數組同步,因爲每個「日」鍵將始終指向你的時間陣列。

你可以按你想要的任何方式對你的數組排序,因爲它是一個數組,你可以選擇如何在表中簡單地根據鍵顯示你的日子。您可以使用[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和你的鑰匙陣列的行了哪個鍵。

相關問題