сохранение NSUserDefaults завершено - PullRequest
1 голос
/ 28 сентября 2010

Я заметил, что сохранение NSUserDefaults занимает некоторое время.

Как я могу проверить, закончил ли он сохранение?

, например, я делаю:

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

Ответы [ 2 ]

2 голосов
/ 28 сентября 2010

Обычно вам не нужно беспокоиться о NSUserDefaults, он будет сохранять изменения всякий раз, когда есть время. Если вам нужно убедиться, что изменения записаны на диск - (BOOL) synchronise, он вернет YES, еслизначения по умолчанию были правильно записаны на диск.

См. справочную страницу NSUserDefaults в Apple

1 голос
/ 28 сентября 2010

Обычно процесс синхронизации является асинхронным, и обычно люди не заботятся о том, когда он сохраняется в файловой системе. Но если вы хотите контролировать, вы можете вызвать метод syncrhonize , чтобы вызвать его синхронно.

Дело в том, что NSUserDefaults сохранит ваши данные в памяти, а затем через некоторое время сохранит в файловой системе. Однако вы всегда имеете дело с уровнем интерфейса, поэтому данные в памяти или в файловой системе не имеют никакой разницы

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...