【发布时间】:2019-12-03 14:40:10
【问题描述】:
我一直在看Data Flow Through SwiftUI WWDC talk。他们有一张带有示例代码的幻灯片,其中他们使用连接到 SwiftUI 视图的 Timer 发布者,并随时间更新 UI。
我正在编写一些我想做完全相同的事情的代码,但无法弄清楚这个PodcastPlayer.currentTimePublisher 是如何实现的,然后连接到 UI 结构。我也看过所有关于 Combine 的视频。
我怎样才能做到这一点?
示例代码:
struct PlayerView : View {
let episode: Episode
@State private var isPlaying: Bool = true
@State private var currentTime: TimeInterval = 0.0
var body: some View {
VStack { // ...
Text("\(playhead, formatter: currentTimeFormatter)")
}
.onReceive(PodcastPlayer.currentTimePublisher) { newCurrentTime in
self.currentTime = newCurrentTime
}
}
}
【问题讨论】:
标签: swift swiftui publisher combine