切换语句在iOS中一个接一个地遍历案例

时间:2012-02-21 05:50:25

标签: ios

我希望动作在第一次点击时执行案例0,然后是案例1,然后是2 ......等等。

我该怎么做?

谢谢!

- (IBAction) cycleAction{
switch (??????){
    case 0:
            [self choice1];
        break;
    case 1:
        [self choice2];
        break;
    case 2:
        [self choice3];
        break;
    default:
        break;
}
}

2 个答案:

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