2012-04-19 32 views
1

NSUserDefaults是持久的權利?如果我們關閉應用程序,它仍然存在。所以它是IO。執行時,NSUserDefaults是否總是執行IO?

這是否意味着我們每次做

– setObject:forKey:我們做IO?

確實iPhone將讀取並寫入磁盤每次我們做

[[NSUserDefaults standardUserDefaults] setObject:trimmedSearchLocation forKey:SEARCHNEAR]; 

或諸如此類的事情

回答

3

docs

在運行時,您可以使用NSUserDefaults的對象從用戶的默認數據庫中讀取應用程序使用的默認值。 NSUserDefaults緩存信息以避免每次需要默認值時都必須打開用戶的默認數據庫。同步方法會按週期自動調用,使內存中的緩存與用戶的默認數據庫保持同步。

所以只有當synchronize調用你的磁盤上有IO!

+1

+1與其他答案一樣 – 2012-04-19 10:57:28

1

系統會定期同步設置。你很少需要明確地同步它們。