2016-02-22 2 views
1

Я делаю игру с таймером. У меня число увеличивается с интервалом 0,01 секунды, но число, которое появляется, не имеет десятичной точки в нем. Как добавить эту десятичную точку? Что я получаю после 1 секунды при работающем по таймеру «100» вместо «1,00»2 десятичный таймер в swift

Вот код, который я использовал:

//timer 
{ 
    var timer = NSTimer() 
    var counter = 0 

    countingLabel.text = String(counter) 
    timer = NSTimer.scheduledTimerWithTimeInterval(1, target:self, selector: Selector("updateCounter"), userInfo: nil, repeats: true) 
} 

//------timer update----- 
func updateCounter() { 

    countingLabel.text = String(counter++) 

    if score.text == "10" { 
     timer.invalidate() 
    } 
} 

ответ

1

Попробуйте заменить

countingLabel.text = String(counter++) 

с

counter++ 
countingLabel.text = String(Double(counter)/100) 
+0

безупречное спасибо, что сработало 100%. Просто из интереса, что метод не позволит создать число с тремя десятичными знаками, чтобы оно было создано? –

+0

Вы можете разделить счетчик на любое количество, которое вам нравится, в том числе 1000, но я не думаю, что NSTimers достаточно быстр, чтобы стрелять каждые 0.001 секунды, если вы пытаетесь увеличить его. – yesthisisjoe

+0

@PeterGaffney вы не должны использовать таймер для измерения времени. Сохраните дату начала и получите timeIntervalSinceNow –