gpt4 book ai didi

swift - 您可以在 SwiftUI 中直接将 Publisher 用作 @ObjectBinding 属性吗?

转载 作者:搜寻专家 更新时间:2023-11-01 06:51:49 25 4
gpt4 key购买 nike

在 SwiftUI 中,您可以将 Publisher 的实例直接用作 @ObjectBinding 属性,还是必须将其包装在实现 BindableObject 的类中

let subject = PassthroughSubject<Void, Never>()
let view = ContentView(data:subject)

struct ContentView : View {
@ObjectBinding var data:AnyPublisher<Void, Never>
}

// When I want to refresh the view, I can just call:
subject.send(())

这不会为我编译,只会挂起 Xcode 11 Beta 2。但是你应该被允许这样做吗?

最佳答案

在您的 View 正文中使用 .onReceive 传递发布者,如下例所示,摘自 Data Flow Through SwiftUI - WWDC 2019 @ 21:23。在闭包中,您更新了一个 @State var,它又在主体中的其他地方被引用,这导致主体在更改时被调用。

enter image description here

关于swift - 您可以在 SwiftUI 中直接将 Publisher 用作 @ObjectBinding 属性吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56718927/

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