-2
沒有影響預期的行爲:爲什麼把一個DispatchQueue延遲功能的另一DispatchQueue裏面有斯威夫特
對於i = 0,0之後稱爲第二打印語句。
對於i = 1,打印語句1.1秒
2.2秒
後,對於i = 2,稱爲打印語句之後稱爲實際行爲:後0,1,2稱爲
打印語句,分別爲3秒,即內部延遲功能被忽略。
那麼爲什麼這種差異?
for i in 0...3 {
DispatchQueue.main.asyncAfter(deadline: .now() + .seconds(i), execute: {
DispatchQueue.main.asyncAfter(deadline: .now() + .seconds(i/10), execute: {
print("function was called")
})
})
}
但是什麼是_question_?你希望做什麼? – matt
要讓它每隔一秒鐘執行一次打印語句 –
那麼,你的代碼不會這麼做; 'for in 0 ... 5'執行所有循環_immediately_。 – matt