私は、Intsの配列をループする関数を用意しようとしています。その値に応じて各項目に対して、メッセージを消してから、配列内の次の項目に移動します。 DISPATCHを使って消えるメッセージの「遅延」を作り出す方法を見つけ出すことができました。しかし、私はまだすべてのメッセージが一気に現れてしまっています。スワイプループを1つ1つずつ入れて、間にポーズを入れてください
私は、forループの最後にDISPATCHを使用して呼び出しようとしているすべてのメッセージをオフにする "offAll()"という関数を作成しましたが、私が言ったように、それはまだ表示されています一度にすべてのメッセージ。 (私は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()
}
}
関数の先頭にブレークポイントを置き、最後までブレークポイントを進めます。それは、うまくいけば、なぜそれらがすべて一度に現れているのかをあなたに明かにしておくはずです。 –
もう一つの役に立つ考え。 「ME!」と言っている4つのポップオーバーがある場合、おそらく、ラベルテキストにそれらの4つのうちの何か異なるものがあるはずです - それは他の問題を排除するのに役立ちます。 – dfd