2011-08-26 128 views
2

NSUserDefaults是將數據保存在設備上的一種簡單方便的方式,雖然它被鼓勵用作基本設置,但我想知道,您應該使用它的實際限制是什麼?在NSUserDefaults中存儲多少?

假設您有一個包含很多對象的大型字典1000,並且每個對象本身都是一個簡單文本字符串作爲值的字典。總的來說,這個大字典可能不是太大,因爲它只包含文本,即使它有相當數量。

是不是O.K.使用NSUserDefaults這樣的東西,你的主要數據模型?

回答

2

爲什麼不把它作爲一個NSDictionary存儲在文件中?

看到這個職位的一個很好的方式,將文件保存爲一個的plist: Save NSDictionary to plist

,並得到它回來是因爲這很容易:

NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:fileName]; 
+0

我八九不離十簡化我的問題,但實際上我主數據模型是一個自定義對象,包括一對字典,一些BOOL ivars等。它不是很大,但我想我可以很容易地將這個自定義對象本身放在NSUserDefaults中。更新:實際上,我剛剛讀到NSUserDefaults只接受標準的plist對象。我想知道這是否延伸到plist對象內部的對象? – johnbakers

+0

@andrewx:「plist對象」是遞歸的 - 數據結構中的所有內容都必須是其中的一種。如果你足夠努力,你*可以*編碼其他對象到那裏,但我不會把你的整個數據模型放在NSUserDefaults中。這不是它的目的,如果你的應用程序增長,你可能需要遷移它。 –

相關問題