在 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
(注意:Foundation
由 import UIKit
(iOS)和 import Cocoa
( OS X), 所以你通常不会 import Foundation
显式).
NSString
格式化方法遵循the IEEE printf specification.
请问,如何在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
(注意:Foundation
由 import UIKit
(iOS)和 import Cocoa
( OS X), 所以你通常不会 import Foundation
显式).
NSString
格式化方法遵循the IEEE printf specification.