RxSwift "tableView.rx.modelSelected" вызывается несколько раз - PullRequest
0 голосов
/ 25 апреля 2018

Я новичок в RxSwift и пытаюсь реализовать с ним UITableView. Я успешно реализовал ячейку UITableView с rx.items, и теперь мне нужно использовать метод didSelect.

Моя проблема в том, мой первый выбор ячейки, он позвонил только один раз, и я напечатал элемент. Но после первого выбора tableView.rx.modelSelected вызывается несколько раз.

В чем причина? Как я могу предотвратить это?

Спасибо.

 func showContactListView() {
        UIView.transition(with: self.view, duration: 0.5, options: UIViewAnimationOptions.curveEaseIn,
                          animations: {self.view.addSubview(self.contactSelectionView)}, completion: nil)

       self.selectEmployeeFromList()
    }

    func selectEmployeeFromList() {

        self.contactSelectionView.tableView.rx.modelSelected(Employee.self)
            .subscribe(onNext: { item in

                print(item)
                self.contactSelectionView.removeFromSuperview()



            }).disposed(by: self.disposeBag)


    }

1 Ответ

0 голосов
/ 25 апреля 2018

Благодаря RxSwift Slack Group,

Я звонил showContactListView функция каждый раз. Вместо этого мне нужно подписаться на него один раз в другом месте (то есть в viewDidLoad или некотором методе настройки). Это все.

Но, пожалуйста, поделитесь своими комментариями, если вы знаете альтернативные шаблоны.

...