快速連結

2023年2月12日

Timer.scheduledTimer沒有執行

狀況:在接取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