Аналогичный вопрос на StackOverflow дали комбинацию:Как сохранить состояние UISwitch в файл
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults]; [userDefaults setBool:switchState forKey:@"mySwitchValueKey"];
и
BOOL swichState = [userDefaults boolForKey:@"mySwitchValueKey"];
я пытался заглянуть в NSUserDefaults, но я не понимаю, что делают эти куски кода, или где они должны быть в моей программе.
Может ли кто-нибудь сказать мне, где им нужно идти? Почему код не работает?
- (void)viewDidLoad
{
[super viewDidLoad];
BOOL switchState = [[NSUserDefaults standardUserDefaults] boolForKey:@"mySwitchValueKey"];
if (switchState == YES) {
[hard1ON setOn:TRUE];
} else {
[hard1ON setOn:FALSE];
}
}
- (IBAction)switchValueChanged
{
NSUserDefaults *userDefaults = [NSUserDefaults standardUserDefaults];
[userDefaults setBool:switchState forKey:@"mySwitchValueKey"];
if (hard1ON.on) {
[[NSNotificationCenter defaultCenter] postNotificationName:@"theChange" object:nil];
} else {
[[NSNotificationCenter defaultCenter] postNotificationName:@"theChange2" object:nil];
}
}
Что вы получите, если вы поместите nslog (@ "% d", switchState) в viewDidLoad. –
ничего не происходит в консоли –
, поэтому ваш viewDidLoad никогда не называется? –