在Swift中正确格式化NSTimer

时间:2015-01-01 00:30:44

标签: swift string-formatting

想问一下,如何在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!

1 个答案:

答案 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 FoundationFoundation(iOS)和import UIKit(OS X)导入,所以你通常没有明确import Cocoa

import Foundation格式化方法遵循the IEEE printf specification