2010-09-28 177 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会将您的数据保存到内存中,然后在一段时间内它会保存到文件系统中。但是,你总是处理接口级别,所以内存或文件系统中的数据没有任何区别