Variable
устарела и, возможно, будет удалена в будущем выпуске, поэтому вместо него я использовал Relay
.
Лучшим подходом было бы сделать форматирование в map
наблюдаемой последовательности и связать его с выводом.
Примерно так в ViewModel
:
var orderDate = BehaviorRelay<Date?>(value: nil)
lazy var formattedOrderButtonText = orderDate.map { return $0 == nil ? "String 1" : "String 2" }
А затем используйте formattedOrderButtonText
в контроллере представления для привязки, например:
viewModel.formattedOrderButtonText.bind(to: orderButton.rx.title).disposed(by: disposeBag)