0
var maxCumulativeTime: Int32;
maxCumulativeTime = 10 * 60 * 1000;
let dispatchTimeNSEC = Int64(Double (maxCumulativeTime) * Double(NSEC_PER_MSEC))
let delayTime = DispatchTime.now() + Double(dispatchTimeNSEC)/Double(NSEC_PER_SEC)
DispatchQueue.main.asyncAfter(deadline: delayTime) {
doSomething()
}
如果delayTime很短,比如5秒,doSomething()將總是被調用。 但如果delayTime很長,比如10分鐘,doSomething()永遠不會被調用。iOS DispatchQueue.main.asyncAfter(截止時間:delayTime)如果delayTime很長,請不要發送
我讓應用程序繼續運行,永遠不會殺死它。手機在10分鐘的延遲時間內進入休眠狀態。但是在我喚醒電話後,仍然沒有調用某些東西。
有沒有想法?
你能告訴你如何計算'delayTime'嗎? –
代碼已更新以包括如何在我的項目中計算delayTime, – jiawen