Ребята У меня быстрый вопрос. Я прочитал несколько подобных ответов, но они были менее прагматичными.NSUserDefaults Как я могу проверить, будет ли он сохранен, если пользователь удалит приложение из памяти?
При выходе из xCode NSUserDefaults
не сохраняются. Но как я могу проверить, когда я выложил свое приложение из памяти iPhone (на реальном устройстве), чтобы мои NSUserDefaults
действительно были сохранены? Можно ли проверить симулятор? Или мой код неправильный?
У меня есть этот код в виде контроллера, который я называю settingsViewController
(нет NSUserDefaults
в моем appDelegate
).
- (void)viewDidLoad
{
[super viewDidLoad];
defaults = [NSUserDefaults standardUserDefaults];
}
- (IBAction)firstAlert:(UISwitch *)sender
{
[defaults setBool:firstAlert.on forKey:@"firstAlert"];
[defaults synchronize];
NSLog(@"%d",[defaults boolForKey:@"firstAlert"]);
}
Отправка сообщения синхронизации приводит к немедленному сохранению значений по умолчанию. Когда приложение получает (force-) завершение, синхронизация не требуется. Так в чем проблема? –
Значит, мне нужно сохранить его на диск через NSCoding, если я хочу, чтобы настройки выдержали завершение приложения? –
Как участвует NSCoding? Я, хотя вы просто сохраняли bool для 'NSUserDefaults'? –