Если вы закрываете свое приложение, нажимая кнопку «домой» (в симуляторе или на устройстве), ваш NSUserDefaults
будет сохранен.
Если вы закроете свое приложение, нажав «Стоп» в XCode (в симуляторе или на устройстве), ваш NSUserDefaults
может быть сохранен, но есть большая вероятность, что они не будут. NSUserDefaults
периодически сохраняет любые изменения, и если вы прекратите процесс до того, как они будут сохранены, они пропадут. Вы можете принудительно сохранить вызов, позвонив по номеру:
[[NSUserDefaults standardUserDefaults] synchronize];
Добавление:
В iOS4 (этот ответ был изначально написан, когда iOS3 была публичной версией), ваш NSUserDefaults
может не сохраниться при нажатии кнопки «Домой». Вызов [[NSUserDefaults standardUserDefaults] synchronize]
в applicationDidEnterBackground:
вручную должен гарантировать, что ваш NSUserDefaults
сохранен правильно (это действительно должно быть встроенное поведение IMO).