2010-09-28 6 views
1

J'ai remarqué que l'enregistrement de NSUserDefaults prend un certain temps.sauvegarde NSUserDefaults terminé

Comment puis-je vérifier si la sauvegarde est terminée?

par exemple, je le veux

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

Répondre

2

Normalement, vous n'avez pas à vous soucier de NSUserDefaults il va stocker les changements quand vous avez le temps, si vous Vous devez vous assurer qu'un changement a été écrit sur l'appel disque - (BOOL) synchronise, il renverra YES si les valeurs par défaut ont été correctement écrites sur le disque.

Voir le NSUserDefaults reference page chez Apple

1

Habituellement, le processus de synchronisation est asynchrone et normalement, les gens ne se soucient pas quand il est enregistré dans le système de fichiers. Mais si vous voulez contrôler vous pouvez appeler syncrhonize method pour l'appeler de manière synchrone. Le fait est que le NSUserDefaults va enregistrer vos données en mémoire, puis dans un certain temps, il va enregistrer dans le système de fichiers. Cependant, vous avez toujours affaire au niveau de l'interface, donc les données en mémoire ou dans le système de fichiers n'a aucune différence