gpt4 book ai didi

ios - 如何在 SwiftUI 中保留 View 结构列表?

转载 作者:行者123 更新时间:2023-12-01 16:05:36 24 4
gpt4 key购买 nike

由于 SwiftUI 的 NavigationView非常死板并且没有为程序化导航提供简单的方法,我想创建一个 AppNavigationView具有 View 数组并根据推送/弹出更新其渲染 View 。

因为 SwiftUI View 是一个带有关联类型的协议(protocol),所以我不能创建一个 View 数组,甚至不能在我的 public func pushView(view:View) 中传递一些 View 。 .

那么如何存储 View 结构的列表呢?

// Error: Protocol 'View' can only be used as a generic constraint because it has Self or associated type requirements.
@State var navigationStack: [View]

最佳答案

Swift 不允许使用协议(protocol)作为成员类型,所以最接近的是使用

@State private var navigationStack: [AnyView]

//...

public func pushView<V:View>(view: V) {
navigationStack.append(AnyView(view))
}

关于ios - 如何在 SwiftUI 中保留 View 结构列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61648678/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com