如何调用发布属性而不更新值



在SwiftUI中,我有一个published属性

@Published
var name: String

当名称更新时,它调用一个应用程序并设置其他值。

$name
...
...
.assign(to: &$something)

现在我想在不更新名称的情况下调用它

你想做这样的事情吗?

import UIKit
import Combine
import SwiftUI
import Foundation

class AddPassaround : ObservableObject {
@Published var name: String = ""
@Published var reversed : String = ""
let passaround = PassthroughSubject<String, Never>()
init() {
$name
.merge(with: passaround)
.map { String($0.reversed()) }
.assign(to: &$reversed)
}

func doIt() {
$reversed.sink { print($0) }
name = "reversedFromSettingName"
print(name)
passaround.send("reversedFromPassaround")
print(name)
}
}
AddPassaround().doIt()

这将添加第二个名为passaround的发布者,您可以通过将值发布到name或通过将值传递到passaround发布者来调用$name之后的行为。

相关内容

  • 没有找到相关文章

最新更新