我希望动作在第一次点击时执行案例0,然后是案例1,然后是2 ......等等。
我该怎么做?
谢谢!
- (IBAction) cycleAction{
switch (??????){
case 0:
[self choice1];
break;
case 1:
[self choice2];
break;
case 2:
[self choice3];
break;
default:
break;
}
}
答案 0 :(得分:2)
您需要一个实例变量来跟踪要执行的下一个操作。
@implementation MyClass {
int _nextActionNumber;
}
- (IBAction) cycleAction {
int actionNumber = _nextActionNumber++;
if (_nextActionNumber == NumberOfActions)
_nextActionNumber = 0;
switch (actionNumber) {
case 0:
[self action0];
break;
case 1:
// etc.
答案 1 :(得分:1)
这是我的答案,和Rob Mayoff一样,只是更简单一点。
在(.m)实现的顶部:
@interface XYZMasterViewController ()
@property int count;
@end
@synthesize count;
- (void)viewDidLoad
{
count = 0;
[super viewDidLoad];
}
某处(.m)实施:
- (IBAction)doFunction:(id)sender
{
switch (count) {
case 0:
NSLog(@"Count = %d",count);
//[self action_1];
count++;
break;
case 1:
NSLog(@"Count = %d",count);
//[self action_2];
count++;
default:
break;
}
}