狀況:在接取API responce回來後,呼叫了Timer.scheduledTimer,但Timer.scheduledTimer似乎沒有跑⋯⋯這是為什麼呢?
原因:因為主要是沒有在main queue上執行喔~
改之前:
func startTimer(){
if self.timer == nil{
timer = Timer.scheduledTimer(timeInterval: REFRESH_DURATION_SEC, target: self, selector: #selector(endTimer), userInfo: nil, repeats: false)
}
}
改之後:
func startTimer(){
DispatchQueue.main.async{ [self] in
if self.timer == nil{
timer = Timer.scheduledTimer(timeInterval: REFRESH_DURATION_SEC, target: self, selector: #selector(endTimer), userInfo: nil, repeats: false)
}
}
}
沒有留言:
張貼留言
歡迎大家留言提問,我會答的都會盡力回答!
如果太久沒出現回應就是我又忘記回來看留言了TAT