Сначала вы должны отобразить свою переменную, а затем привязать ее к кнопке
В viewModel:
let dateTitle: Observable = orderDate.map { date -> String in
return date == nil ? "String 1" : return "String 2"
}
В представлении:
viewModel.dateTitle.bind(to: orderButton.rx.title).disposed(by: disposeBag)
Также Отметьте, чтобы заменить Date на BehaviourSubject или PublishSubject (но я уверен, что вы можете сделать это без сохранения каких-либо данных во ViewModel) Я имею в виду, что если вы сохраняете дату в ViewModel, вы теряете большую часть RxSwift.
Проверьте этот репозиторий , он показывает, как правильно использовать RxSwift:
HtmlEncode
только предназначен для кодирования символов для дисплея в HTML. Это конкретно не кодирует пробельные символы.
я пошел бы с Вашей первой опцией и сделал бы ее дополнительным методом для HtmlHelper. Что-то как:
public static string HtmlEncode(this HtmlHelper htmlHelper,
string text,
bool preserveWhitespace)
{
// ...
}
Вы могли использовать String.Replace()
для кодирования новых строк и пробелов (или Regex.Replace
при необходимости в лучшем соответствии).