

時間に連動して数値が増加するというコードを書きたいです。  
以下コードのように１秒おきの数値増加はできるのですが、  
0.25秒おきのような小数点以下の数値増加ができません。  
方法はいろいろと試したのですがなかなかうまくいかず、詰まってしまいました。

[code]

      if let t = self.startTime {
            let time: Double = NSDate.timeIntervalSinceReferenceDate() - t + self.elapsedTime
            let sec: Int = Int(time)
            let msec: Int = Int((time - Double(sec)) * 100.0)
            self.timerLabel.text = NSString(format: "%02d:%02d:%02d", sec/60, sec%60, msec) as String
            self.resultLabel.text = NSString(format: "%01d", sec * 4) as String
        }
    
[/code]

上記コードの  
`self.resultLabel.text = NSString(format: "%01d", sec * 4) as String`

部分が数値を増加させるLabelになります。  
現在は１秒で数値が４ずつ増えるようになっていますが、  
ここを0.25秒で数値が１ずつ増える設定にしたいと思っています。  
情報が不足しておりましたら、追加致しますので教えていただければと思います。

宜しくお願いします。


CC BY-SA 3.0
2015-12-24T03:11:19.183
20327
2016-03-23T05:18:50.553
13251
question
ios swift xcode iphone
0.25秒おきに数値を１ずつ増やす方法を教えていただきたいです


`let sec: Int = Int(time)`の時点でデータの粒度が下がっていますので、その後4倍しても1秒ごとに4増えるだけになります。

[code]

      if let t = self.startTime {
        let time: Double = NSDate.timeIntervalSinceReferenceDate() - t + self.elapsedTime
        let sec: Int = Int(time)
        let sec4: Int = Int(time * 4)
        let msec: Int = Int((time - Double(sec)) * 100.0)
        self.timerLabel.text = NSString(format: "%02d:%02d:%02d", sec/60, sec%60, msec) as String
        self.resultLabel.text = NSString(format: "%01d", sec4) as String
      }
    
[/code]

とするのが良いと思います。


CC BY-SA 3.0
2015-12-24T03:22:01.463
20329
2015-12-24T03:22:01.463
6092
20327
answer