Мне нужно показать индикатор выполнения при вызове API и скрыть его после завершения вызова API. Ниже приведен код, который я написал для заполнения таблицы. Где я должен делать вызовы, чтобы показывать и скрывать прогресс для вызываемого API? Есть ли способ сделать это RxSwift
?Rxswift - как показать индикатор выполнения
items = fetchAllAnswers()
items.bindTo(self.myTableView.rx_itemsWithCellIdentifier("cellIdentifier", cellType: UITableViewCell.self)){ (row, element, cell) in
cell.textLabel?.text = element
}
.addDisposableTo(disposeBag)
func fetchAllAnswers() -> Observable<[String]>{
let api = Observable.create { (obsever: AnyObserver<[String]>) -> Disposable in
//progress.show()
let items = Api.getUsers()
obsever.onNext(items)
obsever.onCompleted()
//progress.hide
return AnonymousDisposable{
print("api dispose called")
}
}
return api
}
путем привязки к «ProgressHUD» в «viewDidLoad», он начинает показывать его. Перед вызовом функции trackActivity –
«MBProgressHUD» начинает показываться только при вызове функции trackActivity. Я использую его во всех своих проектах. Если «MBProgressHUD» показывается перед вызовом «trackActivity», возможно, вы делаете что-то неправильно. Вы можете проверить учебник RxSwift https://github.com/svyatoslav-reshetnikov/ReactiveApp и посмотреть, как я его реализовал. – Svyatoslav