0

私のアプリのある時点で、ユーザーに大量の UISwitch が表示されます。このビューが終了したら、各スイッチの位置を確認し、オンになっている場合は、オンであることを知らせる単純な文字列をそのスイッチのコア データに保存します。問題は、次のような一連の if ステートメントを手動で作成したくないことです。

if(switch1 is on){
    save attribute in core data switch1checked as @"YES i am checked"
}

異なるアウトレット名を持つ異なるUISwitchをチェックするためのベストプラクティスは何ですか? 以下のようなことを考えていました。

for (UIView *view in [self.scrollView subviews]) {
    if ([view isKindOfClass:[UISwitch class]]) {
        UISwitch *switchView = (UISwitch *)view;
        if(switchView.isOn == YES){
            [self saveToCoreData];
        }

    }
}

問題は Core Data への保存ではなく、どのスイッチがオンになっているかを知る方法です。何か案は?簡単だとは思いますが、解決策が思い浮かびません。

4

1 に答える 1

2

tag各スイッチに a を追加します。ビューが閉じられるのを待たずに、各スイッチに and を追加して、値の変更を処理しますtargetaction値が変更されたら、 を使用しtagて変更されたスイッチを特定し、そのデータをすぐに保存します。

これtagは、スイッチ識別子の配列へのインデックスである可能性があります...

于 2013-10-09T22:50:52.690 に答える