Ios 自动启动倒计时Xcode XIB

Ios 自动启动倒计时Xcode XIB,ios,objective-c,Ios,Objective C,我想创建一个按钮,将我带到另一个视图控制器并自动开始从3到0的倒计时,但我不知道如何在另一个视图控制器上设置倒计时。以下是我尝试的代码: @implementation TestViewController -(IBAction)test:(id)sender { CountdownViewController *cdvc = [[CountdownViewController alloc] initWithNibName:@"CountViewController" bundle

我想创建一个按钮,将我带到另一个视图控制器并自动开始从3到0的倒计时,但我不知道如何在另一个视图控制器上设置倒计时。以下是我尝试的代码:

@implementation TestViewController

-(IBAction)test:(id)sender {
    CountdownViewController *cdvc = [[CountdownViewController alloc]  
initWithNibName:@"CountViewController" bundle:nil];
    [self.navigationController pushViewController:cdvc animated:YES];
}

@implementation CountdownViewController

int maintInt = 3;
NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(countDown) userInfo:nil repeats:YES];

-(void)countDown {
    maintInt -= 1;
    count.text = [NSString stringWithFormat:@"%i", maintInt];
    if(maintInt==1){
        [timer invalidate];
    }
}

您必须将倒计时代码放在一个方法中,您应该根据需要在
viewDidLoad
viewwillbeen
方法中调用该方法

@implementation TestViewController

-(IBAction)test:(id)sender {
    CountdownViewController *cdvc = [[CountdownViewController alloc]  
initWithNibName:@"CountViewController" bundle:nil];
    [self.navigationController pushViewController:cdvc animated:YES];
}

@end

@implementation CountdownViewController

- (void)viewDidLoad {
    [super viewDidLoad];

    // .. customize your views here ..

    // Initialize the timer once your view has been loaded.
    //
    NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(countDown:) userInfo:nil repeats:YES];
}


static int maintInt = 3;

- (void)countDown:(NSTimer *)timer {
    count.text = [NSString stringWithFormat:@"%i", maintInt];
    maintInt -= 1;

    if (maintInt == 0 && timer) {
        [timer invalidate];
        timer = nil;
    }
}

@end

我觉得你的代码还可以。您到底遇到了什么问题?在倒计时视图控制器中,实际上它显示的是未声明的标识符self。我想我应该在其他地方添加int和nstimer,但我不知道在哪里。是第
int maintInt=3行的错误?因为如果是的话,你不能像那样在你的方法之外添加代码,你可以把它放在倒计时控制器的init方法中