Swift - 显示时间的更新/刷新标签
答
替换您的视图控制器代码下面的代码,然后连接IBOutlet中以showTimeLbl
class ViewController: UIViewController {
@IBOutlet weak var showTimeLbl: UILabel!
var timeCount:Int = 0
var timer:Timer!
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
if(timer != nil)
{
timer.invalidate()
}
timer = Timer(timeInterval: 1.0, target: self, selector: #selector(ViewController.timerDidFire), userInfo: nil, repeats: true)
RunLoop.current.add(timer, forMode: RunLoopMode.commonModes)
}
func timerDidFire()
{
timeCount += 1
showTimeLbl.text = NSString(format: "%02d:%02d:%02d", timeCount/3600,(timeCount/60)%60,timeCount%60) as String
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(true)
timer?.invalidate()
timer = nil
}
}
答
斯威夫特3溶液
class ViewController {
@IBOutlet weak var timeLabel: UILabel!
var timer: NSTimer?
let formatter: DateFormatter = {
let tmpFormatter = DateFormatter()
tmpFormatter.dateFormat = "hh:mm a"
return tmpFormatter
}()
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
timer = Timer.scheduledTimer(timeInterval: 60, target: self, selector: #selector(self.getTimeOfDate), userInfo: nil, repeats: true)
}
override func viewWillDisappear(_ animated: Bool) {
super.viewWillDisappear(animated)
timer?.invalidate()
}
func getTimeOfDate() {
var curDate = Date()
timeLabel.text = formatter.string(from: curDate)
}
+0
@reecefox检查我的答案 –
+0
请使用小写名称来表示变量,常量,属性和案例。 –
+0
@NicolasMiari对不起..我没有注意..编辑..谢谢.. –
相当肯定SWIFT已经更新几千次,因为被张贴,所以我问了,因为其他人都过时了。 – reecefox
@reecefox请检查我已经更新了我的答案swift 3.0 –