Я получаю эту ошибку:
assert (proxy === DelegateProxy.currentDelegate (for: object), "Прокси-сервер изменен с момента его первой установки.
Оригинал: (прокси)
Существующий: (Строка (описывающая: DelegateProxy.currentDelegate (for: object))) ")
У меня есть две наблюдаемые, которые обрабатывают раскадровку xib в разных состоянияхно как только один из них был загружен, я получаю сообщение об ошибке выше, я попытался использовать self.tableView.delegate = nil & self.tableView.dataSource = nil
, но это вызывает функцию .bind(to:)
.Моя проблема в том, что я не знаю, как с этим справиться до этой ошибки:
Утверждение не выполнено: прокси-сервер изменился с момента его первой установки.
Оригинал:
.asObservable().bind(to:(tableView?.rx.items(cellIdentifier:
aTableViewCell.Identifier, cellType: HaTableViewCell.self))!
func initTableView() {
// pull to refresh
aViewModel
.isLoading
.asObservable()
.subscribe({ (loading) in
if loading.element == false {
} else {
self.tableView!.delegate = self // loads a shimmering view
self.tableView!.dataSource = self
}
})
.disposed(by: disposeBag)
aViewModel
.datas
.asObservable()
.bind(to:(tableView?.rx.items(cellIdentifier: aTableViewCell.Identifier, cellType: HaTableViewCell.self))!) { (index, element, cell) in
// when the data is fired load this tableview cell
}.disposed(by: disposeBag)
}
Как можно установить нулевое представление таблицы перед тем, как сработают данные Observables?
Эта функция предупреждает вас, что где-то ранее уже был установлен делегат (или источник данных),Действие, которое вы пытаетесь выполнить?очистит этот делегат (источник данных), а это означает, что некоторые из ваших функций, которые зависят от того, какой делегат (источник данных) установлен, скорее всего, перестанут работать.Если вы согласны с этим, попробуйте установить делегат (источник данных) на nil
перед этой операцией.