Вы создали переключатель как IBOutlet со свойствами? Если так, то я думаю, что ваша проблема в том, что вы не называете свой switchControl
self.switchControl
.
Тогда ваше правильное заявление о сохранении станет
[[NSUserDefaults standardUserDefaults] setBool:self.switchControl.on forKey:@"switch"];
[[NSUserDefaults standardUserDefaults] synchronize];
Я бы переместил часть, которая устанавливает переключатель в viewWillAppear
, и сделал бы это так:
- (void)viewWillAppear:(BOOL)animated
{
[super viewWillAppear:animated];
BOOL test= [[NSUserDefaults standardUserDefaults] boolForKey:@"switch"];
NSLog(@"%@",test?@"YES":@"NO");
[self.switchControl setOn:test animated:YES];
}
Я также вынул ненужное if-утверждение для вас.