2017-02-20 2 views
2

と呼ばれます。したがって、myMethodが2回呼び出されます。私はそれを望んでいない。 getLocationからスイッチをオフにすると、nearMeSwitchActionを実行したくありません。これを達成する他の方法はありますか?のiOS UISwitchアクションは、私はある私のアプリでUISwitch IBActionを持って二回

+0

show ur 'getLocation' –

+0

あなたのメソッド[self myMethod]を呼び出します。そうでない場合。どちらの場合も、オフ/オンのメソッドが呼び出されるためです。 –

+0

私の質問が更新されました。 –

答えて

1

UISwitchの値を変更したときにnearMeSwitchActionが呼び出されるのを停止することはできませんが、myMethodが呼び出されるのを止めることができます。 isFromGetLocationのような1つのBoolプロパティを作成し、trueの場合はメソッドを呼び出しないでください。

- (IBAction)nearMeSwitchAction:(UISwitch *)sender { 

     if(nearMeSwitch.isOn) 
      [self getLocation]; 
     if(isFromGetLocation) 
      //For next time 
      isFromGetLocation = NO; 
     else 
      [self myMethod]; 
} 

- (void) getLocation 
{ 
    //my code... 
    isFromGetLocation = YES; 
    [nearMeSwitch setOn:NO animated:YES]; 
} 
+0

これは機能します!私もBOOLで試してみましたが、うまくいきませんでした。私は 'if(isFromGetLocation)を逃したと思います。 //次回は isFromGetLocation = NO;'今日は明らかに私の日ではありません。ありがとう!! –

+0

@ thewarri0r9ようこそメイト:) –

関連する問題