2015-03-30 2 views
0

Я новичок в кодировании, и я делаю секундомер, используя учебник по youtube. Проблема в том, что я хочу миллисекунды в моем таймере, но в учебнике показано, как получить секунды и минуты. Я бы хотел, чтобы миллисекунды отображались как минуты и секунды, но я понятия не имею, как это сделать.Имея миллисекунды в объективе с таймером c

Может ли кто-нибудь показать мне, как получить миллисекунды, используя этот код, пожалуйста?

@implementation ViewController { 

    bool start; 
    NSTimeInterval time; 
} 

- (void)viewDidLoad { 
    [super viewDidLoad]; 
    self.display.text = @"0:00"; 
    start = false; 
} 

- (void) update { 

    if (start == false) { 
     return; 
    } 
    NSTimeInterval currentTime = [NSDate timeIntervalSinceReferenceDate]; 
    NSTimeInterval elapsedTime = currentTime - time; 

    int minutes = (int) (elapsedTime/60.0); 

    int seconds = (int) (elapsedTime = elapsedTime - (minutes * 60)); 

    self.display.text = [NSString stringWithFormat:@"%u:%02u", minutes, seconds]; 

    [self performSelector:@selector(update) withObject:self afterDelay:0.1]; 
} 

Спасибо!

ответ

0

Согласно документам, «NSTimeInterval всегда указывается в секундах, это дает точность в миллисекундах в течение 10 000 лет». Итак, все, что вам нужно сделать, - извлечь миллисекунды из вашей переменной elapsedTime, а затем форматировать текст снова, чтобы он включал миллисекунды. Это может выглядеть примерно так:

NSInteger time = (NSInteger)elapsedTime; 
NSInteger milliseconds = (NSInteger)((elapsedTime % 1) * 1000); 
NSInteger seconds = time % 60; 
NSInteger minutes = (time/60) % 60; 
//if you wanted hours, you could do that as well 
//NSInteger hours = (time/3600); 
self.display.text = [NSString stringWithFormat: "%ld:%ld.%ld", (long)minutes, (long)seconds, (long)milliseconds]; 
+0

спасибо !! Теперь все работает так, как я хотел! – Albert

+0

Добро пожаловать. Рад, что это помогло. Если бы это сработало для вас, вы могли бы принять это как ответ, когда у вас появится шанс? (зеленая галочка). Благодарю. –

Смежные вопросы