NSTime создать timeInterval - PullRequest
       22

NSTime создать timeInterval

0 голосов
/ 15 февраля 2011

У меня есть следующий код в моем приложении в методе 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 голосов
/ 17 февраля 2011

Ваша строка формата неверна:
Поскольку NSTimeInterval является типом с плавающей точкой, вам необходимо либо

  • используйте соответствующий заполнитель %f вместо %d или
  • приведите timeLeft к int во время вызова -[NSString stringWithFormat:].

Что - я думаю - это то, о чем говорил Джастин.

Помимо

Учитывая, что вы там делаете:
Разве это не должно быть "Время истекло "?

...