目标C - 弹出上一页

时间:2016-02-03 14:30:38

标签: ios uiviewcontroller timer nstimer

我在视图控制器中有一个NSTimer,它在用户按下按钮时开始计数。它倒数秒钟3分钟。我想要的是,如果用户想要返回上一页(可能是另一页)并回到此计时器页面,他/她应该看到计数计时器标签。我的意思是,我知道计时器继续计数但是当我再次加载这个页面时,我离开时看不到它的标签。此外,我检查我的计时器,并得到它不被视为“有效”。

我不想为此目的使用AppDelegate,因为我有很多视图控制器,而且这个并不重要。那么,我该如何实现这个连续计时器标签呢?我应该使用静态计时器还是标志?

谢谢。

2 个答案:

答案 0 :(得分:1)

你可以实现一个

static int counter  = 0 ;

通过在NST​​imer中使用选择器方法并使用该计数器继续计数

[NSTimer scheduledTimerWithTimeInterval:180.0f 
                                 target:self 
                               selector:@selector(updateTime:) 
                               userInfo:nil 
                                repeats:YES];  
// Implement Method
-(void)updateTime: (NSTimer *) timer {

   counter++;
self.label.text  = counter;
} 

答案 1 :(得分:0)

使计时器静止可能会引入令人讨厌的内存问题,因为它持有对目标的引用。

但是因为那对你来说已经没问题了,这是一个很好的方法。更好的是:为你的计时器创建一个单例对象,它封装了NSTimer及其计算的值。这样,您的视图控制器可以在值上使用KVO,否则完全独立于计时器。