簡體   English   中英

如何暫停和恢復我的NSTimer

[英]how I can pause and resume my NSTimer

我有一個已經可以工作的NSTimer,但是當您單擊按鈕時想暫停它。 除了暫停,此按鈕會將我重定向到其他視圖,然后當我返回到主視圖時,他必須從您上次停下的地方繼續。 我已經有了暫停按鈕,並且打算繼續計算在viewWillAppear上調用方法

這是我的代碼:

- (void)viewDidLoad {
    [super viewDidLoad];
    [self setUp];
}

- (void) setUp {
    _startDate = [NSDate date];
    _timer = [NSTimer scheduledTimerWithTimeInterval: 1.0/100.0 target: self selector: @selector(timerUpdating) userInfo: nil repeats: true];
}

-(void)timerUpdating {

    NSDate *currentDate = [NSDate date];
    NSTimeInterval timeInterval = [currentDate timeIntervalSinceDate:_startDate];
    NSDate *timerDate  = [NSDate dateWithTimeIntervalSince1970:timeInterval];
    NSDateFormatter *dateFormater = [[NSDateFormatter alloc]init];
    [dateFormater setDateFormat:@"mm:ss"];
    [dateFormater setTimeZone:[NSTimeZone timeZoneForSecondsFromGMT:0.0]];
    NSString *timeString = [dateFormater stringFromDate:timerDate];
    self.timerLabel.text = timeString;
    self.pauseTimeInterval = &(timeInterval);
}

- (IBAction)timerActionPause:(id)sender {
}
- (void)startTimer {
    if(_timer != nil) { // To make sure 
        [self stopTimer];
    }
    _timer = [NSTimer scheduledTimerWithTimeInterval: 1.0/100.0 target: self selector: @selector(timerUpdating) userInfo: nil repeats: true];
}

- (void)stopTimer {
    [_timer invalidate];
    _timer = nil;
}

- (void)resetTimer {
    [self stopTimer];
    [self startTimer];
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM