2011-09-20 72 views
2

我目前有我的應用程序設置存儲在實體稱爲設置。我的每個設置都是屬性。我有一個設置對象,我加載到我的應用程序委託中,並通過整個項目中的委託來訪問它。我正在考慮將設置移動到NSUser默認值。我可能不需要設置包,因爲我已經在應用程序中設置了一切。除了使用設置包之外,我想知道是否有人能告訴我使用NSUserDefaults對我目前的方法有什麼好處?我的選擇可以影響/改善應用性能嗎?NSUser默認值與應用程序代理的應用程序設置

+0

您的設置對象如何保持每個設置?你的意思是屬性而不是屬性? – bryanmac

+0

我可能沒有行話,對不起。我說屬性,因爲我將每個設置都設置爲核心數據模型中實體的屬性,但我確定我的意思是屬性。我以這種方式訪問​​設置對象屬性:[[[[UIApplication sharedDelegate] settings] .showBudgets – SAHM

回答

1

如果有大量的項目需要保存,那麼歸檔或像您目前所使用的plist可能是最好的。

NSUserDefaults的一個優點是可以從任何方法中單獨訪問和保存特定項目。 NSUserDefaults還支持幾種非對象類型。

通常,如果我需要保存基本上大部分類的狀態,我將使用歸檔。

沒有理由不使用組合,單獨選擇每個項目的持久性方法。

通常不會有很大的性能差異。

對於實質性數據選擇核心數據。

+0

嗨CocoaFu。你能解釋一下你的意思嗎?這裏自學的程序員.. – SAHM

+0

歸檔是將一個類實例序列化到磁盤上,以便稍後可以將其讀入內存。看一看'NSCoding'協議和蘋果文檔中歸檔的各種主題。基本上,通過實現'NSCoding',你可以指定應該如何將一個類中的每個數據寫入磁盤並從中讀取。然後將數據保存到文件非常容易。 – LucasTizma

+0

盧卡斯謝謝! @JPK我們大多數人都是在iOS上自學。時常讀書。也考慮偷偷溜進研究生課程,他們不擔任角色,通常在晚上舉行,我多次完成。 – zaph

相關問題