###やりたいこと
SwiftUIで以下のことを実装したいです。
一定時間後に自動でHogeViewからHugaViewに移動
一定時間後に自動でHugaViewからHogeViewに移動
以下繰り返し・・・
###試したコード
@HugaView
NavigationLink(destination: HogeView(), isActive: self.$timeOut ) { Spacer().fixedSize() } Text("(timeRemaining)") .onReceive(timer) { _ in if self.timeRemaining > 0 { self.timeRemaining -= 1 }else if self.timeRemaining==0{ self.timeOut=true } }
@HogeView
NavigationLink(destination: HugaView(), isActive: self.$timeOut ) { Spacer().fixedSize() } Text("(timeRemaining)") .onReceive(timer) { _ in if self.timeRemaining > 0 { self.timeRemaining -= 1 }else if self.timeRemaining==0{ self.timeOut=true } }
###問題点
timeOutが2周目以降にtrueのままになっているようで、時間を待たずに直ぐに次のViewに移動してしまいます。
上手く回避する方法はないでしょうか?
self.timeout、self.timeRemainingやtimer、timeOutの定義についても追記していただけますか?Viewの中身だけで制御するのではなくて、データを管理するモデル部分で両方を制御するほうが良いのではないかと思うので、モデル部分のご提示もお願いします。