2012-05-26 37 views
0

我有這個數據,我想保存到plist。 MONTH和DAY是系統日期整數。我知道如何得到它們。如何將此NSDictionary數據保存爲plist,然後進行檢索?

MONTH 
    DAY 
    int, string, int 

例子:

5 
    25 
    10, text, 50 

我有一個UITableView中,我必須導入在這樣的數據:

如果系統月份是3,搜索plist中的關鍵3用第3個月的日子填充表格。

對此,最佳方法是什麼?

編輯

年並不重要。在表中,它應該是一個月的列表,當它被按下時,它應該列出與特定月份相關的所有日子。每天都應該有與特定日期相關的所有數據。

我很困惑如何在plist中構造數據。

回答

0

貌似這個線程上保存的NSDictionary是plist一些有用的信息:

Save NSDictionary to plist

至於表視圖中顯示搜索結果,我爲你怎麼有點糊塗組織你的NSDictionary。一般來說,你應該這樣做:

NSArray *arrayDataForMonthZero = [[NSArray alloc] initWithObjects:@"Your",@"Objects",@"For",@"Section",@"Zero"]; 
NSArray *arrayDataForMonthOne = [[NSArray alloc] initWithObjects:@"Your",@"Objects",@"For",@"Section",@"One"]; 
... 
NSArray *arrayDataForMonthEleven = [[NSArray alloc] initWithObjects:@"Your",@"Objects",@"For",@"Section",@"Eleven"]; 

NSDictionary *tableData = [[NSDictionary alloc] initWithObjectsAndKeys:arrayDataForMonthZero,@"0",arrayDataForMonthOne,@"1",...,arrayDataForMonthEleven,@"11"]; 

然後,你創建一個NSArray指向你想要使用的數據集的指針。因此,如果要顯示第三部分,請執行以下操作:

NSArray *tableDataPtr = [tableData objectAtIndex:@"3"]; 

這將選擇您剛剛創建的與第三個月關聯的所有數據。向表視圖委託和數據源提供命令時使用此對象。

+0

我編輯了這個問題。 – maxus182

+0

你應該能夠看看我的例子並從那裏推斷結構。你會嵌套多個NSDictionaries。第一個會有與月份匹配的密鑰。這將返回一個NSDictionary和鍵匹配的天數。最後,這將返回您想要與特定月份和日期相關聯的數據。 –

0

NSDate是那些需要開發人員干預將其歸檔(或編碼)到plist文件中的Objective C對象之一。

而你的問題仍然如此廣泛,我不是100%確定你的具體情況最好的辦法是什麼。你想在一個單元格中顯示「2012」,然後在這個下面的縮進單元格中顯示「5」?在這種情況下,您可能希望將plist中的日期加載到具有NSDate屬性的自定義對象中。或者,您可能希望將具有多個表格視圖單元格的單個對象與單獨的「年」和「月」值關聯起來。或者,您可能希望將所有這些內容列入每個日期的單個自定義表格視圖單元格中。

看看StackOverflow上(like this one),描述瞭如何保存&負載NSDate對象,然後考慮如何利用這在您的UITableViewController其他問題。

+0

我編輯了這個問題。 – maxus182

相關問題