2017-09-23 84 views
0

在早期版本的Swift中,此代碼完美工作。如何在Swift 4中編寫GCD asyncAfter?

DispatchQueue.main.asyncAfter(deadline: .now() + delay) { timer in 
    self.setOriginalState() 
    self.shakeAnimation() 
} 

但是在斯威夫特4出現以下錯誤:

曖昧參考成員 'asyncAfter(截止日期:服務質量:標誌:執行:)'

一個如何創建在Swift 4中運行一系列代碼之前延遲?

+1

只是刪除「定時器」,然後工作正常。 –

+1

「在早期版本的Swift中,這個代碼完美地工作」然而,它總是錯誤的。發生的一切就是編譯器不再那麼寬容。 – matt

回答

3

嘗試在操場上它沒有給出任何問題,這只是「缺少」是「定時器」的參考。

DispatchQueue.main.asyncAfter(deadline: .now() + 3) { 
    print("Dispatching after") 
} 

DispatchQueue.main.asyncAfter(deadline: .now() + 3, qos: .userInteractive, flags: []) { 
    print("Dispatching after") 
} 

他們都似乎工作,你確定問題不在別的地方?

+0

謝謝,安德烈先生...工作完美。 –