Проверка шаблона шины для iOS
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

22 lines
391B

  1. import BusX
  2. import Combine
  3. extension Cord {
  4. final class Receive<T>: ObservableObject {
  5. @Published var value: T
  6. var subscriptions = [AnyCancellable]()
  7. init(
  8. _ key: String,
  9. _ defaultValue: T
  10. ) {
  11. value = defaultValue
  12. Bus.receive(
  13. [key],
  14. { [weak self] (_, v: T) in self?.value = v },
  15. sub: &subscriptions
  16. )
  17. }
  18. }
  19. }