在Swift 3中,我有一個可以通過用戶按下按鈕來取消的循環。在循環內進行一些檢查。檢查後,任務可以睡一會兒。但隨着在無盡的循環中等待自己,但用戶可以每次取消
let delayQueue = DispatchQueue(label: "com.myApp.queue3", qos: .utility)
let additionalTime: DispatchTimeInterval = .seconds(3)
repeat {
delayQueue.asyncAfter(deadline: .now() + additionalTime) { self.update() }
} while !self.stop
本身運行所需要的所有等待用戶 時間循環調用任務時,「停止」,表示,用戶點擊停止按鈕。 是CPU浪費了嗎?我怎樣才能避免這個循環一直被完成?
謝謝,看起來像我喜歡它那麼容易。 –
歡迎您! –
一個問題:在上面的解決方案中,調用主DispatchQueue上的任務?因爲我沒有獲得在主隊列中運行的對話項的更新,所以我需要將它作爲不同的隊列啓動,例如,效用。 –