ViewModel должен обрабатывать показ или скрытие IndicatorView (если есть одно загрузочное представление), поскольку ваше представление должно быть тупым, используйте BehaviorRelay вместо переменной (переменная запрещена)
в viewModel
// create a subject and set the starter state, every time your viewModel
// needs to show or hide a loading, just send an event
let showLoading = BehaviorRelay<Bool>(value: true)
// your async function
func getManufacturerList() -> Observable {
// notify subscriber to show the indicator view
showLoading.accept(true)
// do some works
// notify subscribers to hide the indicator view
showLoading.accept(false)
}
и в вашем контроллере вида
// bind your indicator view to that subject and wait for events
showLoading.asObservable().observeOn(MainScheduler.instance).bind(to: indicatorView.rx.isHidden).disposed(by: disposeBag)
Существует много плагинов JQuery, которые создают выпадающий список (Меню) как восхитительный.
можно использовать:
Я всегда рекомендую Сыну Suckerfish для меню как это. CSS только, таким образом, это работает даже на пользователей без сценариев, и чрезвычайно легко и быстро для него.
Самый легкий способ сделать это должно настроить меню в JavaScript. Существует много доступных библиотек Javascript, доступных для создания этого легче. Некоторые более популярные включают:
Можно попытаться играть с некоторыми списками. Это - более старое сообщение на моем блоге о том, как можно сделать хорошую навигационную цепочку со списками и некоторой частью jQuery.