Combine - 测试 CurrentValueSubject 是否有订阅者
Combine - test if CurrentValueSubject has any subscribers
我想验证一些 CurrentValueSubject
是否添加了任何订阅。有什么方法可以验证吗?
最简单的方法可能是使用 handleEvents
并用计数器跟踪。
class A {
var count = 0
let subject = CurrentValueSubject<Bool, Never>(true)
func myStuff() {
subject.handleEvents(receiveSubscription: { [unowned self] _ in
self.count += 1
}, receiveCompletion: { [unowned self] _ in
self.count -= 1
}, receiveCancel: {
self.count -= 1
})
}
}
但不确定这是否能解决您的问题。
您甚至可以创建一个自定义 Publisher
,在内部处理计数并将其公开为只读 属性,这也许更好。
我想验证一些 CurrentValueSubject
是否添加了任何订阅。有什么方法可以验证吗?
最简单的方法可能是使用 handleEvents
并用计数器跟踪。
class A {
var count = 0
let subject = CurrentValueSubject<Bool, Never>(true)
func myStuff() {
subject.handleEvents(receiveSubscription: { [unowned self] _ in
self.count += 1
}, receiveCompletion: { [unowned self] _ in
self.count -= 1
}, receiveCancel: {
self.count -= 1
})
}
}
但不确定这是否能解决您的问题。
您甚至可以创建一个自定义 Publisher
,在内部处理计数并将其公开为只读 属性,这也许更好。