0

我有 3 个视图控制器。

视图控制器 1 有一个转到视图控制器 2 的按钮(效果很好)。

我有一个从视图控制器 2 上的 15 开始倒计时的计时器。

我怎样才能使它在计时器达到 0 时自动切换屏幕(并发送一个整数)到第三个视图控制器?

是否有任何代码可以插入到下面的方法中,以便它切换到我的第三个视图控制器并自动发送整数?

if(secondsCount==0)
{

    [countDownTimer invalidate];

    countDownTimer = nil;
}
4

2 回答 2

0

您应该在第三个视图控制器中创建一个 @property timeValue 来传递整数。

if(secondsCount==0)
{

[countDownTimer invalidate];
countDownTimer = nil;
ViewController *viewController = [ViewController alloc]init];
viewController.timeValue = //enter integer here
[self presentViewController:viewController animated:YES completion:NULL];

}
于 2013-09-12T01:32:25.570 回答
0

您可以使用-[NSObject performSelector:withObject:afterDelay:]来执行视图控制器堆栈的推送或弹出。如果您需要在调用方法之前取消,请调用+[NSObject cancelPreviousPerformRequestsWithTarget:].

类似的东西(在你的第二个视图控制器中)

-(void)goToNextViewController
{
    UIViewController * nextViewController = [ [ MyViewController alloc ] initWithNibName:... bundle:nil ] ] ;
    newViewController.theNumber = /* number */
    [ self.navigationController pushViewController:nextViewController animated:YES ] ;
}

-(void)startTimer
{
   [ self performSelector:@selector(goToNextViewController) withObject:nil afterDelay:15.0 ] ;
}

-(void)cancelTimer
{
    [ NSObject cancelPreviousPerformRequestsWithTarget:self ] ;
}
于 2013-09-12T01:33:28.647 回答