在SwiftUI中重定向到同一视图

在SwiftUI中重定向到同一视图,swift,view,swiftui,Swift,View,Swiftui,我正在试验SwiftUI,我正在尝试制作一个非常简单的测验应用程序,在那里你可以学习一门外语。我有一个观点,包括一个英文单词、一个图像(表情符号)和一个翻译。我想添加一个按钮,将我重定向到这个完全相同的视图,其中包含要学习的新单词,而无需使用NavigationLink和NavigtaionView深入导航。我仍然希望有一个返回按钮重定向到我的主屏幕,但我不知道这一切在SwiftUI中是否都是可能的 所述视图的代码: struct LearnView:View{ 变量字:字符串 变量图标:字符串

我正在试验SwiftUI,我正在尝试制作一个非常简单的测验应用程序,在那里你可以学习一门外语。我有一个观点,包括一个英文单词、一个图像(表情符号)和一个翻译。我想添加一个按钮,将我重定向到这个完全相同的视图,其中包含要学习的新单词,而无需使用
NavigationLink
NavigtaionView
深入导航。我仍然希望有一个返回按钮重定向到我的主屏幕,但我不知道这一切在SwiftUI中是否都是可能的

所述视图的代码:

struct LearnView:View{
变量字:字符串
变量图标:字符串
变量转换:字符串
var body:一些观点{
VStack(对齐:。中心,间距:50){
SquareView(字:字,图标:图标)
文本(翻译).font(.largeTitle)
//按钮切换到新单词的下一个(相同)视图
}
}
}

您可以执行以下操作:

struct Word {
    var word: String
    var icon: String
    var translation: String
}

struct LearnView: View {

    @State var position = 0

    var words: [Word] = []

    var body: some View {
        VStack(alignment: .center, spacing: 50) {
            SquareView(word: words[position].word, icon: words[position].icon)

            Text(words[position].translation).font(.largeTitle)

            Button("Next") {
                self.position += 1
            }
        }
    }
}

这个按钮应该从哪里接收新单词?你有一些共享存储或模型等吗?你说的“重定向”是什么意思?我没有分享任何模型,因为我觉得它对这个问题不重要,也不需要。新单词将从json数据中随机选择并传递给视图。“重定向”是指用新数据重新绘制同一视图。这是一个非常聪明的解决方案!你不是这么想的吗,谢谢!