我正在使用Obc C在Xcodes中创建一个倒数计时器。我是这方面的新手,需要一些帮助我的计时器,它会从你进入的时间算起来。
现在我的代码看起来像这样:
-(void) timerRun {
secoundCount = secoundCount - 1;
int minuts = secoundCount / 60;
int seconds = secoundCount - (minuts * 60);
NSString *timerOutput = [NSString stringWithFormat:@"%2d:%.2d", minuts, seconds];
countdownlable.text = timerOutput;
只要它从99分钟或更短时间倒计时,这个倒计时就可以完美找到。 我希望有几个小时的int,但是当我这样做时出错了,我得到一个错误。
请你解释一下我如何为这个计数器添加一个“小时”的整数
我尝试了以下但是它不起作用:
-(void) timerRun {
secoundCount = secondCount - 1;
int hours = secondCount / 60;
int minuts = secondCount / 60;
int seconds = secondCount - (minuts * 60);
NSString *timerOutput = [NSString stringWithFormat:@"%1d:%2d:%.2d", hours, minuts, seconds];
countdownlable.text = timerOutput;
提前致谢
答案 0 :(得分:0)
你必须为明星做好准备。
我认为你的错误是逻辑错误
因为小时不等于第二次计数/ 60
int hours = minutsCount / 60;
您可以使用NSTimer
你会在这里找到它
答案 1 :(得分:0)
有多种方法可以实现这一点,例如使用" modulo"操作者:
int tmp = secondCount;
int seconds = tmp % 60;
tmp /= 60;
int minutes = tmp % 60;
tmp /= 60;
int hours = tmp;
NSString *timerOutput = [NSString stringWithFormat:@"%d:%02d:%02d", hours, minutes, seconds];
此方法的优点是您可以轻松地将其扩展到更大的时间间隔, 例如:
int tmp = secondCount;
int seconds = tmp % 60;
tmp /= 60;
int minutes = tmp % 60;
tmp /= 60;
int hours = tmp % 24;
tmp /= 24;
int days = tmp;
备注:而不是在计时器回调中将剩余时间减少一秒 功能,计算它可能更精确
NSDate *now = [NSDate date];
secondCount = [destinationTime timeIntervalSinceDate:now];