在我的应用程序中,我有一个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没有完成它的指令set1
示例=按下按钮,它执行指令集1,如果我按下另一个按钮它不应该工作,因为它没有完成它的工作,我想等待指令集1的结束重复推送按钮。
你明白吗?
答案 0 :(得分:1)
使用bool值,在指令集的开头将其设置为NO,然后返回YES。如果值为NO,则不执行任何操作
答案 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
}
}
}