相关疑难解决方法(0)

如何使用 NavigationStack 和 SwiftUI 发送额外数据?

我有三个viewsA、B 和 C。用户可以从 A 导航到 B,也可以从 A 导航到 C。用户可以从 B 导航到 C。现在我想区分用户是从 A 到 C 还是从 B 到 C,所以我正在研究如何在 NavigationStack 中传递额外的数据,这可以帮助我区分

下面是我的代码

import SwiftUI

@main
struct SampleApp: App {
    
    @State private var path: NavigationPath = .init()
    
    var body: some Scene {
        WindowGroup {
            NavigationStack(path: $path){
                A(path: $path)
                    .navigationDestination(for: ViewOptions.self) { option in
                        option.view($path)
                    }
            }
        }
    }
    
    enum ViewOptions {
        case caseB
        case caseC
        @ViewBuilder func view(_ path: Binding<NavigationPath>) -> some View{
            switch self{
            case .caseB:
                B(path: path) …
Run Code Online (Sandbox Code Playgroud)

ios swift swiftui

5
推荐指数
1
解决办法
1379
查看次数

标签 统计

ios ×1

swift ×1

swiftui ×1