2010-09-28 294 views
1

我注意到保存NSUserDefaults需要一段時間。保存NSUserDefaults完成

如何檢查是否已完成保存?

比如我做的:

NSMutableArray *uld = [NSMutableArray arrayWithArray:[[NSUserDefaults standardUserDefaults] arrayForKey:@"testdata"]]; 
[uld addObject:teststring]; 
[[NSUserDefaults standardUserDefaults] setObject:uld forKey:@"testdata"]; 

回答

2

通常你不必擔心NSUserDefaults它會在任何時候存儲更改,如果你需要確保已將更改寫入磁盤調用- (BOOL) synchronise,如果將默認值正確寫入光盤,它將返回YES

請參閱NSUserDefaults reference page at Apple

1

通常情況下,同步過程是異步的,一般人不關心,當它被保存到文件系統有關。但是如果你想控制,你可以撥打syncrhonize method來同步調用它。

問題是,NSUserDefaults會將您的數據保存到內存中,然後在一段時間內它會保存到文件系統中。但是,你總是處理接口級別,所以內存或文件系統中的數據沒有任何區別