У меня есть UIS-переключатель в моем приложении и один в моем комплекте настроек с той же функциональностью.Однако UIS-переключатель в моем приложении не сохраняет свои настройки должным образом.Кто-нибудь может увидеть что-то не так с кодом?
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // Set the application defaults NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; NSDictionary *appDefaults = [NSDictionary dictionaryWithObject:@"No" forKey:@"isKgs"]; [defaults registerDefaults:appDefaults]; [defaults synchronize]; } - (void)switchChanged { [[NSUserDefaults standardUserDefaults] setBool:unitSwitch.selected forKey:@"isKgs"]; [[NSUserDefaults standardUserDefaults] synchronize]; NSLog(@"SwitchGhanged:"); } -(void)cellForRowAtIndexPath { [unitSwitch addTarget:self action:@selector(switchChanged) forControlEvents:UIControlEventValueChanged]; if ([[NSUserDefaults standardUserDefaults] boolForKey:@"isKgs"]) { [unitSwitch setOn:YES animated:NO]; } }
А вот и пакет настроек
[[NSUserDefaults standardUserDefaults] setBool:unitSwitch.on forKey:@"isKgs"];
Используйте свойство on для настройки.
on
Попробуйте использовать on на UISwitch:
РЕДАКТИРОВАТЬ: не нужно проверять, поскольку unitSwitch.on уже BOOLEAN, вы можете назначить его напрямую.