IOS:IBAction有两个动作

时间:2011-10-18 11:30:36

标签: ios xcode ibaction

在我的应用程序中,我有一个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的结束重复推送按钮。

你明白吗?

2 个答案:

答案 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
        }
    }
}