gpt4 book ai didi

如果 ObservedObject 属性更改,SwiftUI 导航

转载 作者:行者123 更新时间:2023-11-28 11:24:39 24 4
gpt4 key购买 nike

我这辈子都想不出如何只在我的 ObservedObject 中的属性时导航改变以满足条件。即当我的状态更改为某种情况时,导航到下一个屏幕。

我用过 tagselection NavigationLink 上的初始值设定项但它selection需要 Binding ,我无法得出 Binding来 self 的属性 ObservedObject不使用 .constant() Binding 上的初始化器这只是一个不可变的值。

@ObservedObject var store: Store<AppState, AppValue>

NavigationLink(
destination: SecondView(),
tag: true,
selection: store.shouldNavigate // Can't do this because I need a binding
)

人们如何实现仅在满足其状态条件时才导航的按钮?我试图避免使用 @State因为我希望导航取决于我的应用程序状态,而不是我根据某些业务逻辑切换的本地状态

public final class Store<Value, Action>: ObservableObject {
@Published public private(set) var value: Value
}

更新:

所以看起来我应该能够创建一个绑定(bind)但是因为 store.value给我Binding<Value>我得到一个错误:Generic parameter Subject cannot be inferred .

最佳答案

只需删除模型中的private(set)NavigationLink 将在导航完成后将shouldNavigate 设置为false,因此不应该私有(private)(设置)

public final class Store<Value, Action>: ObservableObject {
@Published public var value: Value
}

关于如果 ObservedObject 属性更改,SwiftUI 导航,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58584805/

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