1

値の変更時に、if ステートメントでいくつかの UIButtons を非表示または非表示にする UISwitch があります。ビューを切り替えたり、アプリを終了したりするときに、UIButtons の非表示の状態を保存したいと思います。NSUserDefaults を使用してみましたが、保存されず、.storyboard で最初に設定した状態に戻るだけです

.m コード:

- (IBAction)buttonHidden:(id)sender {

NSUserDefaults *Defaults = [NSUserDefaults standardUserDefaults];
[Defaults setBool:china.hidden forKey:ChinaChanged];
[Defaults setBool:japan.hidden forKey:JapanChanged];
[Defaults setBool:french.hidden forKey:FrenchChanged];
[Defaults setBool:spanish.hidden forKey:SpanishChanged];
[Defaults synchronize];

}

.m viewDidLoad コード:

- (void)viewDidLoad {

[super viewDidLoad];

NSUserDefaults *Defaults = [NSUserDefaults standardUserDefaults];
china.hidden = [Defaults boolForKey:ChinaChanged];
japan.hidden = [Defaults boolForKey:JapanChanged];
french.hidden = [Defaults boolForKey:FrenchChanged];
spanish.hidden = [Defaults boolForKey:SpanishChanged];

}

IBAction をどこに接続して動作させることができるかわかりません。

これは、UISwitch の if ステートメント コードです。

(IBAction)switchTheSwitch:(id)sender {
if (Languages.on) {
    china.hidden = NO;
    japan.hidden = NO;
    french.hidden = NO;
    spanish.hidden = NO;
}

else {
    china.hidden = YES;
    japan.hidden = YES;
    french.hidden = YES;
    spanish.hidden = YES;

    }
}

誰でも私を助けることができますか?

4

1 に答える 1

1

私が従うかどうかはわかりませんがbuttonHidden、デフォルトが実際に保存されるように、あなたが不足しているのはへの呼び出しだけのようです

ただやる

-(IBAction)switchTheSwitch:(id)sender {
    if (Languages.on) {
        china.hidden = NO;
        japan.hidden = NO;
        french.hidden = NO;
        spanish.hidden = NO;
    }
    else {
        china.hidden = YES;
        japan.hidden = YES;
        french.hidden = YES;
        spanish.hidden = YES;
    }
    [self buttonHidden:sender];
}
于 2013-01-01T19:01:42.560 に答える