質問

私のアプリにはIBACTIONがあり、その中には「if」を使用した2つの異なる指示があります。

 if (i == 0)  //do instruction set 1
 if (i == 1) //do instruction set 2
 // and everytime I push button i change from 0 to 1 or from 1 to 0

問題は、このibactionのボタンを繰り返し押すと、以前のibactionが命令セットを終了しなかったために正常に動作しないことです。

例=ボタンを押すと、命令セット1を実行します。別の時間を押しても、ボタンが機能しなくなったため、ボタンが終了しなかったため、命令セット1の終了を待ってボタンのプッシュを繰り返したいと思います。

わかりますか?

役に立ちましたか?

解決

あなたが持っていると仮定します BOOL workInProgress クラスの変数:

- (IBAction)action {
    if (!workInProgress) {
        workInProgress = YES;
        if (i == 0) {
            // do something that in the end sets workInProgress to NO
        } else if (i == 1) {
            // do something else that in the end sets workInProgress to NO
        }
    }
}

他のヒント

ブール値を使用して、命令セットの開始時にそれをNOに設定し、その後はYESに戻ります。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top