题
在我的应用程序中,我有一个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。如果值为否,则不要执行任何操作
不隶属于 StackOverflow