为什么我的NavigationLink()只能工作一次,但在列表()中却可以正常工作??

为什么我的NavigationLink()只能工作一次,但在列表()中却可以正常工作??,navigation,swiftui,navigationlink,Navigation,Swiftui,Navigationlink,我试图学习SwiftUI,但我不明白为什么这在苹果教程中有效,但在我自己的项目中却不起作用。我想使用我自己的设计,这意味着NavigationLink看起来像一个普通的按钮。问题是,这只工作一次,当我使用

我试图学习SwiftUI,但我不明白为什么这在苹果教程中有效,但在我自己的项目中却不起作用。我想使用我自己的设计,这意味着
NavigationLink
看起来像一个普通的按钮。问题是,这只工作一次,当我使用<后退按钮时,我不能再次使用“编辑”按钮

import SwiftUI
import Foundation

struct TimeTrackerView: View {
    @ObservedObject var timeTracker = TimeTracker()
    @State private var isStart = false

    var body: some View {
        NavigationView {
            ZStack {
                Color.black
                    .edgesIgnoringSafeArea(.all)

                VStack {
                    Spacer()
                    Text( timeString(time: self.timeTracker.time) )
                        .font(.largeTitle)
                        .foregroundColor(.white)
                        .padding(50)
                    Spacer()
                    HStack {
                        Group {
                            Button(action: {
                                self.isStart.toggle()
                                if self.isStart {
                                    self.timeTracker.startTimer()
                                } else {
                                    self.timeTracker.stopTimer()
                                }
                            }) {
                                if isStart {
                                    Text("Stop")
                                        .foregroundColor(.red)
                                } else {
                                    Text("Start")
                                        .foregroundColor(.white)
                                }
                            }
                            Spacer()
                            // BUG: Button works only once
                            NavigationLink(destination: TimeDetail()) {
                                Text("Edit")
                                    .foregroundColor(.white)
                            }
                        }
                    }
                    .font(.title).padding(50)
                }

            }
            .navigationBarTitle("Navigation")            
        }
    }
}

func timeString(time: Int) -> String {
    let hours = time / 3600
    let minutes = time / 60 % 60
    let seconds = time % 60

    return String(format:"%1ih %1im %1is", hours, minutes, seconds)
}

struct TimeTrackerView_Previews: PreviewProvider {
    static var previews: some View {
        TimeTrackerView()
    }
}
这是TimeDetail视图

import SwiftUI

struct TimeDetail: View {
    var body: some View {
        Group {
            Text("HI, i'm View")
        }.navigationBarTitle("Navi", displayMode: .inline)
    }
}

struct TimeDetail_Previews: PreviewProvider {
    static var previews: some View {
        TimeDetail()
    }
}

我发现当我将
列表
NavigationLink
s一起使用时,它是有效的。但不需要一个按钮。

适用于Xcode 11.2.1/iOS 13.2.2,适用于Xcode 11.2.1/iOS 13.2.2