IOS: IBAction с двумя действиями - PullRequest
0 голосов
/ 18 октября 2011

В моем приложении у меня есть ibaction, и внутри него есть 2 разные инструкции с "if"

 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, если я нажму еще раз кнопку, она не должна работать, потому что она не завершила свою работу, и я хочу дождаться окончания набора инструкций 1, чтобы повторить нажатие кнопки.

Ты понимаешь?

Ответы [ 2 ]

1 голос
/ 18 октября 2011

Если в вашем классе есть переменная 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
        }
    }
}
1 голос
/ 18 октября 2011

используйте значение bool, установите его в NO в начале вашего набора команд и верните в YES после. Если значение NO, тогда ничего не делайте

...