#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. Привет, спасибо :-), Но это не работает, оно также не выдает мне ошибку, но все равно не обновляется, пожалуйста, проверьте мою правку :)!