在 Swift 中正确格式化 NSTimer

Properly formatting NSTimer in Swift

请问,如何在0.01区间内正确格式化一个NSTimer? 我想要 00:00.00 (mins, sec, msec)

当我运行我的代码时:

...

@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 毫秒) 您如何将其转换为例如:

00:11.23

我尝试了一些带有“substring”的东西,但没有成功。我是 Swift 的新手,所以我不知道我在这里有什么可能性。谢谢!

使用整数除法 / 和取模 % 来计算分、秒和百分之一秒的值,然后使用 String 便利初始值设定项,它采用 format 要添加前导零和冒号的字符串:

let count = 1234
let str = String(format:"%02d:%02d:%02d", (count/6000)%100, (count/100)%60, count%100)

此功能来自 Foundation 框架。要为 String 使用此便利初始值设定项,您必须 import Foundation(注意:Foundationimport UIKit(iOS)和 import Cocoa( OS X), 所以你通常不会 import Foundation 显式).

NSString格式化方法遵循the IEEE printf specification.