2013-10-11 24 views
0

我有大量的數據(超過100個條目)顯示在表格視圖上。數據將是靜態的,所以我在考慮將它存儲在plist文件中。問題是當它在表格視圖中顯示時,用戶將能夠選擇或取消選擇一行,並且必須存儲此信息。預存大量的數據在應用程序中

換句話說,應用程序將有一個事物列表,用戶可以選擇他擁有的東西。

什麼是最好的方式來存儲數據的應用程序和選定的信息?

PS .:我在迴避核心數據,但如果這是最好的方式,我如何預先將數據存儲在實體中?

+1

如果您需要更改數據的唯一的事情就是選擇,你可以輕鬆擁有一個單獨的文件存儲選定的指標(在一個純文本文件或者存儲,通過分離指標';',可以使用'NSArray' + plist)。 –

回答

1

最簡單的方式來跟蹤選中和未選中的行在這裏: 這個代碼將節省您的水龍頭單元格的價值。

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{ 
    BOOL isSelected=[[NSUserDefaults standardUserDefaults] boolForKey:[indexPath.row stringValue]]; 
    [[NSUserDefaults standardUserDefaults] setBool:!isSelected forKey:[indexPath.row stringValue]]; 

}

+0

如果應用程序有第二個用戶呢? –

+0

我之前想到過這個,但是我擔心對很多條目使用User Defaults太多了,但是因爲數據只會是布爾值,所以我認爲這很好。這裏的所有解決方案都很棒,但這個解決方案非常簡單,而且我有時間不夠。 Petro,在我的情況下,該應用只允許一個用戶,所以這很好=) – douglasd3

2

100個entres實際上並不是大量的數據。

我會傾向於使用plist來處理這些少量的數據。

如果您想要,您可以將用戶數據保存在同一個plist中: 當應用第一次運行時,它可以將plist複製到文檔目錄以便可以編輯它(所有權數據)。

或者,您可以爲用戶數據使用單獨的plist。

2

沒有「最佳方式」,但一種可行的方法是使用JSON文件。如果數據不是太大,說JSON文件遠遠少於1兆字節。

在編輯器中創建和修改JSON文件相當舒服。您可以像往常一樣通過NSJSONSerialization解析和創建表示。

提示:具有N個字節的JSON文件創建基本對象的表示,其大致需要總共5 * N到10 * N的分配空間。

相關問題