【问题标题】:Nstimer ImplementationNstimer 实现
【发布时间】:2014-08-02 19:40:22
【问题描述】:

我搜索了所有主题,但没有一个答案对我来说真的很清楚。所以,我想创建一个 nstimer,它将在几分钟内从用户那里检索整数,并以秒为单位开始倒计时。我希望如果用户将计时器设置为 15,则以 14:59、14:58 的格式开始计数。我实现了以下代码几秒钟。我的意思是用户以秒为单位给出一个整数并启动计数器。

setTime -= 1;
minutes = setTime /60;
seconds = setTime - (minutes *60);
NSString * timeroutput = [NSString stringWithFormat:@"%2d:%.2d", minutes, seconds];

所以我尝试了以下代码,但我无法在几秒钟内倒计时。请问有什么建议吗?

minutes = setTime;
seconds = (setTime * 60) % 60;
NSString * timeroutput = [NSString stringWithFormat:@"%2d:%.2d", minutes, seconds];

我的定时器设置如下代码:

-(void)setTimer{
Timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(timerRun) userInfo:nil repeats:YES];
}

在 (timerRun) 方法中我实现了时间。

【问题讨论】:

  • 你能添加你的NSTimer 实现吗?
  • 我已经编辑了我的问题圣诞老人

标签: ios xcode timer nstimer


【解决方案1】:
NSInteger seconds;
NSInteger userMinutes;
NSTimer *myTimer;

-(void)setTimer
{
    seconds = userMinutes*60;
    myTimer = [NSTimer scheduledTimerWithTimeInterval:1.0
                                             target:self
                                           selector:@selector(timerRun)
                                           userInfo:nil
                                            repeats:YES];
}

-(void)timerRun
{
    if (seconds-- > 0)
        NSString *timerOutput = [NSString stringWithFormat:@"%02ld:%02ld", seconds/60, seconds%60];
    else
        [myTimer invalidate];
}

【讨论】:

  • 非常感谢您。它就像一个魅力。感谢您的帮助。
猜你喜欢
  • 1970-01-01
  • 2011-09-29
  • 1970-01-01
  • 1970-01-01
  • 2015-07-14
  • 1970-01-01
  • 2014-07-15
  • 1970-01-01
  • 2012-07-24
相关资源
最近更新 更多