NSUserDefaults是持久的權利?如果我們關閉應用程序,它仍然存在。所以它是IO。執行時,NSUserDefaults是否總是執行IO?
這是否意味着我們每次做
– setObject:forKey:
我們做IO?
確實iPhone將讀取並寫入磁盤每次我們做
[[NSUserDefaults standardUserDefaults] setObject:trimmedSearchLocation forKey:SEARCHNEAR];
或諸如此類的事情
NSUserDefaults是持久的權利?如果我們關閉應用程序,它仍然存在。所以它是IO。執行時,NSUserDefaults是否總是執行IO?
這是否意味着我們每次做
– setObject:forKey:
我們做IO?
確實iPhone將讀取並寫入磁盤每次我們做
[[NSUserDefaults standardUserDefaults] setObject:trimmedSearchLocation forKey:SEARCHNEAR];
或諸如此類的事情
從docs:
在運行時,您可以使用NSUserDefaults的對象從用戶的默認數據庫中讀取應用程序使用的默認值。 NSUserDefaults緩存信息以避免每次需要默認值時都必須打開用戶的默認數據庫。同步方法會按週期自動調用,使內存中的緩存與用戶的默認數據庫保持同步。
所以只有當synchronize
調用你的磁盤上有IO!
系統會定期同步設置。你很少需要明確地同步它們。
+1與其他答案一樣 – 2012-04-19 10:57:28