gpt4 book ai didi

swift - 如何将发布者转换为 CurrentValueSubject?

转载 作者:行者123 更新时间:2023-12-01 21:32:33 24 4
gpt4 key购买 nike

我有一个发布者,我的 View 的 onReceive 被订阅了。我希望 onReceive 中的发布者在第一次订阅时触发,而不是在 onAppear 中重复逻辑。

有没有办法将发布者转换为 CurrentValueSubject?这是我正在尝试做的事情:

var myPublisher: CurrentValueSubject<Void, Never> {
Just(()) // Error: Cannot convert return expression of type 'Just<()>' to return type 'CurrentValueSubject<Void, Never>'
}

这是可行的还是更好的方法?

最佳答案

您无法将发布商转换为 CurrentValueSubject随意,因为它是一种非常特殊的发布者类型。问问自己是否真的需要 myPublisher 的类型成为CurrentValueSubject<Void, Never>或者如果 AnyPublisher<Void, Never>会做。

var myPublisher: AnyPublisher <Void, Never> {
Just(()).eraseToAnyPublisher()
}

或者,如果您只想创建一个 CurrentValueSubject 的实例有 ()作为它的初始值,你可以使用这个:

var myPublisher: CurrentValueSubject<Void, Never> {
CurrentValueSubject<Void, Never>(())
}

关于swift - 如何将发布者转换为 CurrentValueSubject?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62372478/

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