在我的应用程序中,我有一个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未完成其指令SET11

示例=按按钮,它执行指令集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
        }
    }
}

其他提示

使用Bool值,将其设置为指令集的开始时,然后返回到YES。如果值为否,则不要执行任何操作

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top