3

チェックボックス パスワードを保存する(ログインフォーム用)があります。そして、私がチェックしたときに保存してフォームを実行し、チェックボックスのチェックを表示したいです。チェックを外すと実行され、チェックボックスがオフになります。私を共有してください。少し早いですがお礼を

4

4 に答える 4

7

チェックボックスの値バインディングを共有ユーザー デフォルト コントローラのキーにバインドします。

ここに画像の説明を入力

(これが iOS なのか Mac なのかは特に言われませんでしたが、iOS には標準のチェックボックス コントロールがないため、後者であると想定しました。)

于 2012-09-19T10:09:09.577 に答える
1

.h ファイル:

@property (nonatomic, unsafe_unretained) IBOutlet NSButton *isCheckedButton;

.m ファイルについて

@synthesize isCheckedButton;

- (IBAction)changeButtonState:(id)sender{
if ([isCheckedButton state]) { // Check if button is checked
    [[NSUserDefaults standardUserDefaults] setBool:TRUE forKey:@"YOUR KEY HERE"];
    NSLog(@"Change state to On");
}else{
    [[NSUserDefaults standardUserDefaults] setBool:FALSE forKey:@"YOUR KEY HERE"];
     NSLog(@"Change state to Off");
}
 [[NSUserDefaults standardUserDefaults] synchronize]; // ** DON'T FORGET THIS LINE! ** //
}

上記のコードはもっと単純かもしれませんが、これがよりよく理解できる方法だと思います。次の方法でいつでも値を読み取ることができます。

[[NSUserDefaults standardUserDefaults] boolForKey:@"YOUR KEY HERE"];
于 2013-03-30T23:55:05.387 に答える
1

-setBool:forKey:のメソッドを使用しNSUserDefaultsます。

if(checked)
    [[NSUserDefaults standardUserDefaults] setBool:true forKey:@"RememberMe"];
else
    [[NSUserDefaults standardUserDefaults] setBool:false forKey:@"RememberMe"];

次に、次のように返される実際のBOOL 値を取得できます。

BOOL checked = [[NSUserDefaults standardUserDefaults] boolForKey:@"RememberMe"];

編集:データをすぐに保存するためにsynchronize、この呼び出しとして追加することを忘れないでくださいNSUserDefaults

[[NSUserDefaults standardUserDefaults] synchronize];
于 2012-09-19T09:52:43.077 に答える
0

あなたはこれを試してください:

- (void)checkboxButton:(id)sender
 {

 if ( checkboxSelected == 1){

[ checkbox setSelected:NO];
[checkbox setImage:[UIImage imageNamed:@"checkbox.png"] forState:UIControlStateNormal];

checkboxSelected = 0;
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setInteger: checkboxSelected forKey:@"checkboxstate"];

 } else {
[checkbox setSelected:YES];
[checkbox setImage:[UIImage imageNamed:@"checkbox-checked.png"] forState:UIControlStateNormal];
 checkboxSelected = 1;
NSUserDefaults *prefs = [NSUserDefaults standardUserDefaults];
[prefs setInteger: checkboxSelected forKey:@"checkboxstate"];

}



}
于 2012-09-19T11:48:59.400 に答える