前言

Timer 在OC應該是NSTimer
在Swift就是簡化成Timer
主要功用在計時使用
固定時間呼叫某func 幾個循環
或是延遲幾妙後開始計時

Timer 與 NSTimer

OC NSTimer 寫法

寫一個每五秒 reload tableview
並且重複

宣告部分

//每5秒循環一次 呼叫reloadTableView 重複呼叫
NSTimer *reloadTimer = [NSTimer scheduledTimerWithTimeInterval:5 target:self selector:@selector(reloadTableView) userInfo:nil repeats:YES];

呼叫func部分

-(void)reloadTableView:(NSTimer *)theTimer{
    [tableview reloadData];
}

停止

要停止部分使用invalidate
並且釋放reloadTimer = nil

[reloadTimer invalidate];
reloadTimer = nil;

Swift Timer 寫法

宣告部分

//每5秒循環一次 呼叫reloadTableView 重複呼叫
var timer : Timer?
reloadTimer = Timer.scheduledTimer(timeInterval: 5, target: self, selector: #selector(reloadTableView(_:)), userInfo: nil, repeats: true)

呼叫func部分

@objc func timeRepeat(_ time:Timer) -> Void {
    tableview.reloadData()
}

停止

timer?.invalidate()
timer = nil

大致上語法差不多
只有宣告好像還有很多宣告法
但我的func它自動幫我轉objc也太奇怪了
下次再來研究為什麼會這樣

Swift更多文章

Swift 彈出視窗 AlertController 的使用方法 💥

Swift 判斷螢幕方向 📱

Swift Core Data 實現 💾🔥

Swift UISegmentedControl 💻分段控制器!

Swift 實現抽屜效果 🧹


Categorized in: