self.codeBtn.addTarget(self, action: #selector(createTimer), for: .touchUpInside)
func createTimer() {
self.codeBtn.setTitle("5", for: .normal)
self.codeBtn.isUserInteractionEnabled = false
self.timer = Timer.scheduledTimer(timeInterval: 1.0, target: self, selector: #selector(timerReduces), userInfo: nil, repeats: true)
self.timer?.fire()
}
func timerReduces() {
self.startTime -= 1
let time = "\(self.startTime)"
self.codeBtn.setTitle(time, for: .normal)
print(self.startTime)
// let newStr = NSString(string: time)
// let num = newStr.intValue
if self.startTime == 0 {
self.codeBtn.isUserInteractionEnabled = true
self.codeBtn.setTitle("重新獲取驗(yàn)證碼", for: .normal)
self.timer?.invalidate()
self.startTime = 5
}
}
定時(shí)器Timer
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。
推薦閱讀更多精彩內(nèi)容
- 問(wèn)題原因: 一般定時(shí)器timer都會(huì)被以默認(rèn)模式default添加到主線(xiàn)程的runloop中,當(dāng)滑動(dòng)界面時(shí),run...
- Timer是一種定時(shí)器工具,用來(lái)在一個(gè)后臺(tái)線(xiàn)程計(jì)劃執(zhí)行指定任務(wù)。它可以計(jì)劃執(zhí)行一個(gè)任務(wù)一次或反復(fù)多次。TimerT...
- 本文旨在總結(jié)項(xiàng)目中因使用各類(lèi)定時(shí)器而踩到的坑,并附上經(jīng)驗(yàn)總結(jié)。 NSTimer NSTimer是最常用的定時(shí)器,坑...
- Timer 定時(shí)器相信都不會(huì)陌生,之所以拿它來(lái)做源碼分析,是發(fā)現(xiàn)整個(gè)控制流程可以體現(xiàn)很多有意思的東西。 在業(yè)務(wù)開(kāi)發(fā)...