我試圖有一個函數,將循環通過一個數組的Ints,併爲每個項目,根據它的值,彈出一個特定的消息一秒鐘或所以,然後讓消息消失,然後移動到數組中的下一個項目。我能夠弄清楚如何使用DISPATCH爲消息消失創建一個「延遲」 - 但我仍然終止於所有消息立即彈出。Swift循環通過數組之間暫停
另外,我創建了一個名爲「offAll()」的函數,用於關閉所有消息,我試圖在for循環結束時使用DISPATCH調用 - 但正如我所說的,它仍然顯示所有消息一次。 (我也嘗試將DISPATCH語句分別放入每個case語句中,但這似乎也沒有幫助。)
僅供參考,我在XCode中使用Swift 4。謝謝!!
func popUp(){
for item in order{
if item == 0 {
firstLabel.text = "ME!"
} else if item == 1 {
secondLabel.text = "ME!"
} else if item == 2 {
thirdLabel.text = "ME!"
} else {
fourthLabel.text = "ME!"
}
DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
self.offAll()
}
}
在函數的開始處放置一個斷點並逐步完成,直到結束。它應該希望能夠讓你清楚爲什麼它們都出現在一次。 –
另一個有用的想法。如果你有4個彈出窗口說「我!」,你可能應該讓標籤文字在這四個中的每一箇中說出不同的東西 - 這有助於排除其他問題。 – dfd