想问一下,如何在NSTimer
的时间间隔内正确格式化0.01
?
我希望有00:00.00
(分钟,秒,毫秒)
当我运行我的代码时:
...
@IBAction func btn_play(sender: AnyObject) {
timer = NSTimer.scheduledTimerWithTimeInterval(0.01, target: self, selector: Selector("result"), userInfo: nil, repeats: true)
}
...
func result() {
count++
lbl_time.text = String(count)
}
...
我收到类似1123
的内容(代表11秒23 msecs)
你会如何将其转换为例如:
00:11.23
我尝试了一些带有“substring”但没有成功的东西。我是Swift的新手,所以我不知道我在这里有什么可能性。 THX!
答案 0 :(得分:1)
使用整数除法/
和模%
来计算分钟,秒和百分之一秒的值,然后使用String
便利初始化程序,其中{{1}用于添加前导零和冒号的字符串:
format
此功能来自let count = 1234
let str = String(format:"%02d:%02d:%02d", (count/6000)%100, (count/100)%60, count%100)
框架。要为Foundation
使用此便捷初始值设定项,您必须String
(注意:import Foundation
由Foundation
(iOS)和import UIKit
(OS X)导入,所以你通常没有明确import Cocoa
。
import Foundation
格式化方法遵循the IEEE printf specification。