Я попытался сделать обратный отсчет с NSTimeInterval. Но я хочу иметь возможность изменять интервал, не выпуская обновления каждый раз. Поэтому я попытался импортировать Timeinterval с моего сайта. Я сохранил номера для NSTimeInterval в NSString и теперь хочу их преобразовать в NSTimeInterval, чтобы внедрить его в код обратного отсчета ...Преобразование NSString в NSTimeInterval
... но он не работает. Есть идеи?
label.text = string;
double timeInterval = [label.text doubleValue];
NSTimeInterval intervalForTimer = timeInterval;
destinationDate = [[NSDate dateWithTimeIntervalSince1970:intervalForTimer] retain];
timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(updateLabel) userInfo:nil repeats:YES];
редактировать:
- (void)updateLabel {
NSCalendar *calendar = [[NSCalendar alloc] initWithCalendarIdentifier:NSGregorianCalendar];
int units = NSMonthCalendarUnit | NSDayCalendarUnit | NSHourCalendarUnit | NSMinuteCalendarUnit | NSSecondCalendarUnit;
NSDateComponents *components = [calendar components:units fromDate:[NSDate date] toDate:destinationDate options:0];
[dateLabel setText:[NSString stringWithFormat:@"%d%c %d%c %d%c %d%c %d%c", [components month], 'm', [components day], 'd', [components minute], 'm', [components second], 's']];
}
Мой новый код выглядит следующим образом:
NSLog(@"Downloaded file with contents: %@", string);
double timeInterval = [string doubleValue];
label.text = [NSString stringWithFormat:@"%d", (int)timeInterval];
NSTimeInterval intervalForTimer = timeInterval;
destinationDate = [[NSDate dateWithTimeIntervalSince1970:timeInterval] retain];
timer = [NSTimer scheduledTimerWithTimeInterval:intervalForTimer target:self selector:@selector(updateLabel) userInfo:nil repeats:YES];
Но DATELABEL ничего не делает ...
чем проблема? кажется нормально –
Как это не работает? Вы проверили (отобразив или посмотрев с помощью отладчика), что строковое значение идет правильно? Вы подтвердили правильность установки текста метки? –
Что показывает label.text? – Shmidt