NSTime创建一个timeInterval

时间:2011-02-15 16:47:50

标签: objective-c time nstimer nstimeinterval

我的方法updateLabel2中有以下代码:

timeLeft = [[NSDate date] timeIntervalSinceDate:[[NSUserDefaults standardUserDefaults] objectForKey:@"lastDate"]];

[[self timer] setText:[NSString stringWithFormat:@"Time Remaining: %f", timeLeft]]; //Set the label text

请注意,计时器是一个标签。

和更早版本,执行以下代码:

    [[NSUserDefaults standardUserDefaults] setObject:[NSDate date] forKey:@"lastDate"];


self.repeatTimer = [NSTimer scheduledTimerWithTimeInterval:1
                                               target:self
                                             selector:@selector(updateLabel2) 
                                             userInfo:nil
                                              repeats:YES];

我的问题是timeLeft被设置为随机整数,这些整数绝对不是timeIntervals应该是的,并且也不在彼此的一秒之内。

1 个答案:

答案 0 :(得分:0)

您的格式字符串错误:
由于NSTimeInterval是浮点类型,因此您需要

  • 使用适当的占位符%f代替%d
  • 在调用timeLeft时将-[NSString stringWithFormat:]强制转换为int。

我认为 - 是贾斯汀所说的。

除了

考虑你在那里做什么:
不应该是“时间过去了”?