Сбой приложения на схеме отладки, но хорошо работает на схеме бета - несколько целей - PullRequest
0 голосов
/ 25 декабря 2018

У меня есть приложение с 3 схемами: Debug, Beta и Release.

У меня есть TableView с несколькими различными представлениями ячеек таблицы, 3 из них - CollectionViews.

При построении BetaСхема, приложение работает, как и ожидалось, без каких-либо проблем, откат к другой схеме (отладка) завершается неудачно с этой ошибкой:

поток 1. Ошибка подтверждения: эта функция предупреждает вас о том, чтоуже является делегатом (или источником данных), установленным где-то ранее.Действие, которое вы пытаетесь выполнить, очистит этот делегат (источник данных), а это значит, что некоторые из ваших функций, которые зависят от того, какой делегат (источник данных) установлен, скорее всего, перестанут работать.Если вы согласны с этим, попробуйте установить делегат (источник данных) на nil перед этой операцией.Это значение исходного объекта:

Точка ошибки в этой части:

func bindViewModel() {
       viewModel.transform().asDriver(onErrorJustReturn: [])
           .drive(self.collectionView.rx.items(cellIdentifier: reuseIdentifier, cellType: ProductImageItemCell.self)) { collectionView, viewModel, cell in
               cell.bind(to: viewModel)
           }.disposed(by: rx.disposeBag)

   } 

В чем заключается проблема?У меня неправильная конфигурация с несколькими целевыми объектами?Спасибо.

1 Ответ

0 голосов
/ 25 декабря 2018

Функция bindViewModel() создает и подключает источник данных к представлению вашей коллекции.Тем не менее, вы, очевидно, уже подключены к источнику данных.Любая функциональность, которую должен обеспечить первый источник данных, будет потеряна.Возможно, этот первый источник данных был ошибкой и не нужен.В этом случае удалите его.

...