2009-07-08 13 views
7

m新しいobjective-cには、スイッチがオンモードの場合にログイン情報を記憶するためにUISwitchを使用したログインページのアプリケーションが作成されています。私はログインの詳細を覚えているが、問題は、スイッチのオン/オフ状態を使用する方法です。 Thanx事前にUiswitch on/off

答えて

7

スイッチのonプロパティに応じて、コードのどこかに条件文を追加します。たとえば、rememberLoginDetailsというメソッドでログインの詳細を覚えているとします。何がどうなること(たとえば、ユーザーがログインページを離れた)いくつかのアクションがトリガされたときに、次のとおりです。

if([yourSwitch isOn]) { 
    [self rememberLoginDetails]; 
} else { 
    // Do nothing - switch is not on. 
}

ここで重要な方法は、UISwitch yourSwitchためisOn方法です。 isOnはスイッチのonプロパティのゲッターで、BOOLプロパティはスイッチがオンの場合YES、含まれていない場合はNOです。

詳細については、UISwitch class reference、具体的にはpart about isOnが表示されます。

+0

こんにちは、私はあなたのコードを使用している..しかし、問題は同じままです。それはあまりにもオフ状態でdの細部を覚えている。 –

+0

その場合、元の質問を編集して使用しているコードを含めることができれば助かります。 – Tim

+0

@Harita:同じ問題がありました。後で== TRUEを使ってみましたが、それでも動作しませんでした。それから、私はインターフェースビルダーに入り、スイッチをIBOutlet varに接続して動作させました:] – abelito

0

私は、コードがこのする必要があります信じる:

if([yourSwitch isOn] == YES) { 
    [self rememberLoginDetails]; 
} else { 
    // Do nothing - switch is not on. 
} 
+1

いいえ、そうではありません。戻り値がBOOLの場合、 "if"がBOOL(if(TRUE)do stuff、それ以外はelse stuff)で動作するため、比較演算子を使用する必要はありません。したがって、[yourSwitch isOn]がYES(またはNO)を返す限り、 "if"は正しくトラバースされます。このコードは、実際にはもっと多くの呼び出しを行う必要があり、速度が遅くなります(ただし数ミリ秒でしかありません)。 – ColdLogic

-1

これは、その質問のための別の解決策です。

if (switchValue.on == YES) 
{ 
    // Code... 
} 
else 
{ 
    // Other code... 
} 
17

私は同じ問題を抱えていたすべての:)

if (switchValue.on){ 
    //Remember Login Details 
} 
else{ 
    //Code something else 
} 
+0

スイッチにどのように値を追加できますか? –

-1

の最も簡単な解決策は、私は別の名前に変更し、それが働いた

を選択= UISwitchの名前を持っていました。

3

ユーザがスイッチをオンにした瞬間にログインの詳細を覚えておきたい場合は、アクションを作成して実行できます。あなたのUISwitchでのtableView

1である場合、これは別の解決策がある

- (IBAction)yourSwitch:(id)sender { 
    if([sender isOn]){ 
     //do your stuff here 
    }else{ 
    } 
} 
0

、このコードを追加します "のtableView:cellForRowAtIndexPath:" 法

[switchControl addTarget:self action:@selector(switchChanged:) forControlEvents:UIControlEventValueChanged]; 

2を追加し、このメソッドを

- (void) switchChanged:(id)sender { 
    UISwitch *switchControl = sender; 
    NSLog(@"The switch is %@", switchControl.on ? @"ON" : @"OFF"); 
}