2014-07-17 5 views
2
내가

NSUserDefaults 기회 UISwitch 값

은 NSUserDefaults

매장 위치 스위치보기를 기본값으로 값을 uiswitch 전달할 수 없습니다

난 2 다른보기 설정을 볼 수있다

및 기본보기

settingsview.m

- (void)viewDidLoad 
{ 
    [super viewDidLoad]; 
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 

    if ([defaults objectForKey:@"SwitchState"]) 
     self.BlowSwitch.on = [defaults boolForKey:@"SwitchState"]; 

} 

- (IBAction)saveSwitchState:(id)sender 
{ 
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 

    if ([self.BlowSwitch isOn]){ 
     [defaults setBool:YES forKey:@"SwitchState"]; 
     //[defaults synchronize]; 
     [[NSNotificationCenter defaultCenter] postNotificationName:@"SwitchState" object:self userInfo:nil]; 
    } 
    else{ 
     [defaults setBool:NO forKey:@"SwitchState"]; 
     [defaults synchronize]; 
     [[NSNotificationCenter defaultCenter] postNotificationName:@"SwitchState" 
                  object:self userInfo:nil]; 
    } 
} 

defaultview.m

- (void)viewDidLoad { 

    [super viewDidLoad]; 
    [[NSNotificationCenter defaultCenter] addObserver:self 
              selector:@selector(onAppSettingsChanged:)                   name:@"SwitchState" 
               object:nil]; 
} 

- (void) onAppSettingsChanged:(NSNotification*)notification { 
    NSUserDefaults *defaults = [NSUserDefaults standardUserDefaults]; 
    BOOL completed = [defaults boolForKey:@"SwitchState"]; 

    if (completed == YES) { 
     //bla bla bla 
    } 
} 
+0

'onAppSettingsChanged :'가 호출되고 있습니까? – Stonz2

+0

스위치는 작동하지만 작동하지 않으면 스위치가 작동하지 않습니다. – SeRcCaN

답변

0

[self.BlowSwitch isOn]을 확인할 때 [defaults synchronize]을 실행하지 말고 주석을 제거한 후 다시 시도하십시오.

+0

작동하지 않았습니다 ... – SeRcCaN