保存NSUserDefaults已完成

时间:2010-09-28 13:26:39

标签: iphone nsuserdefaults

我注意到NSUserDefaults的保存需要一段时间。

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

例如我做:

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

2 个答案:

答案 0 :(得分:2)

您通常不必担心NSUserDefaults它会在有时间时存储更改,如果您需要确保已将更改写入磁盘调用- (BOOL) synchronise,它将返回{ {1}}如果默认值已正确写入光盘。

请参阅Apple的NSUserDefaults reference page

答案 1 :(得分:1)

通常,同步过程是异步的,通常人们不关心何时将其保存到文件系统中。但是如果你想控制你可以打电话syncrhonize method同步调用它。

问题是,NSUserDefaults会将您的数据保存到内存中,然后在一段时间内,它会保存到文件系统中。但是,您始终处理接口级别,因此内存或文件系统中的数据没有任何区别