Получить время для «запуска» в iOS

#iphone #ios #nsdate

#iPhone #iOS #nsdate

Вопрос:

Я прочитал руководство о том, как создать часы в iOS. И это работает так, как должно, и все такое, но я хочу пойти дальше и заставить часы обновляться каждую минуту. Таким образом, оно больше не «статично», поэтому, если вы откроете приложение в 12: 16 и дадите ему запуститься, оно должно автоматически обновляться каждую минуту (12: 17, 12: 18 и т.д.).

Это код, предоставленный мне руководством,

 NSDateFormatter *datoVar = [[NSDateFormatter alloc] init];
[datoVar setDateFormat:@"hh:mm"];

LabelKlokken.text = [datoVar stringFromDate:[NSDate date]];
  

Я пытался и пытался просмотреть Google и stackoverflow, но просто ничего не могу найти.

Заранее спасибо, Олуф Нильсен.

ОТРЕДАКТИРОВАНО: мой код теперь выглядит следующим образом

 -(void)clock
{
    NSDateFormatter *datoVar = [[NSDateFormatter alloc] init];
    [datoVar setDateFormat:@"hh:mm"];

    LabelKlokken.text = [datoVar stringFromDate:[NSDate date]];
}

- (void)viewDidLoad
{
    [super viewDidLoad];

    [self clock];
    tid = nil;
    tid = [NSTimer scheduledTimerWithTimeInterval:1 target:self selector:@selector(clock) userInfo:NULL repeats:YES];
}
  

Ответ №1:

Вы можете запланировать NSTimer проверку времени каждые 60 секунд.

 dateTimer = [NSTimer scheduledTimerWithTimeInterval:60 target:self selector:@selector(updateTime) userInfo:nil repeats:YES];
  

поместите свой код в updateTime метод. А еще лучше, проверяйте это каждую секунду, потому что может случиться так, что вы переключаете время на 59-й секунде каждой минуты, таким образом, отставая на 59 секунд…
Не забудьте аннулировать таймер, как только вы захотите прекратить обновление, чтобы ваше приложение не зависало при переключении просмотров или что-то в этом роде.

[dateTimer invalidate];
dateTimer = nil;

Комментарии:

1. Привет, спасибо :-), Но это не работает, оно также не выдает мне ошибку, но все равно не обновляется, пожалуйста, проверьте мою правку :)!