我的方法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应该是的,并且也不在彼此的一秒之内。
答案 0 :(得分:0)
您的格式字符串错误:
由于NSTimeInterval
是浮点类型,因此您需要
%f
代替%d
或timeLeft
时将-[NSString stringWithFormat:]
强制转换为int。我认为 - 是贾斯汀所说的。
考虑你在那里做什么:
不应该是“时间过去了”?