2011-07-12 26 views
2

私はswtich状態を保存し、プログラムの再起動時に読み込みたいと思っています。UISwitchの状態を保存してロードする

[[NSUserDefaults standardUserDefaults] setBool:switchControl.on forKey:@"switch"]; 
[[NSUserDefaults standardUserDefaults] synchronize]; 

これは、これは私がアプリケーションを閉じて再起動したときに、そのvalue.Iにスイッチを設定する必要がviewDidLoadメソッドでこれをやっている部分である省エネ一部

BOOL test= [[NSUserDefaults standardUserDefaults] boolForKey:@"switch"]; 
NSLog(@"%@",[email protected]"YES":@"NO"); 
if(test == YES) 
    [switchControl setOn:YES animated:YES]; 
else 
    [switchControl setOn:NO animated:YES]; 

です私はスイッチの状態が保存された部分を設定したい。

しかし、それは私がそれを設定するのに役立つことができる既定の部分を表示していますか?

答えて

11

プロパティを持つIBOutletとしてスイッチを作成しましたか?もしそうなら、あなたの問題はあなたのswitchControlself.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(@"%@",[email protected]"YES":@"NO"); 
    [self.switchControl setOn:test animated:YES]; 
} 

私は不必要なIF-を取り出しましたあなたのための声明も。

+0

私はIbouletの部分を使用していないので、私は自己を使用していません:) thanks –

+0

優れたソリューション!よくやった! – Mannopson

関連する問題