ServerListTableViewCellViewModel.swift 767 B

123456789101112131415161718192021222324252627282930
  1. //
  2. // ServerListTableViewCellViewModel.swift
  3. // Bark
  4. //
  5. // Created by huangfeng on 2022/4/1.
  6. // Copyright © 2022 Fin. All rights reserved.
  7. //
  8. import RxRelay
  9. import UIKit
  10. class ServerListTableViewCellViewModel: ViewModel {
  11. let server: Server
  12. let address: BehaviorRelay<String>
  13. let key: BehaviorRelay<String>
  14. let state: BehaviorRelay<Bool>
  15. init(server: Server) {
  16. self.server = server
  17. self.address = BehaviorRelay<String>(value: {
  18. URL(string: server.address)?.host ?? "Invalid Server"
  19. }())
  20. self.key = BehaviorRelay<String>(value: !server.key.isEmpty ? server.key : "none")
  21. self.state = BehaviorRelay<Bool>(value: server.state == .ok)
  22. super.init()
  23. }
  24. }