2017-10-24 12 views
0

처음에는 혼란스러운 제목으로 유감스럽게 생각합니다. 그러나 실제로는 더 나은 것을 만들 수 없습니다.RxSwift 세계에서 UIButton이있는 UITableViewCell

코디네이터 패턴과 RxSwift를 사용하는 응용 프로그램이 있으므로 모두 내비게이션 내비게이션 논리를 처리 할 수 ​​있도록 코디네이터와 관련된 내용을 전달해야합니다.
하나의보기 컨트롤러에는 UITableView이 있고 그 안에는 UIButton의 셀이 있습니다. 이 경우를 들어 나는이 : 그것은 단지 버튼 탭을 반영으로

actionButton.rx.tap.bind(to: viewModel.chapterAction).disposed(by: disposeBag) 

chapterActionPublishSubject<Void>이지만, 그래서 나중에 내가 변환, 코디네이터에 대한 더 많은 정보를 전달해야이 chapterAction에 :

var showChapter: Observable<Chapter> = self.chapterAction.mapTo(self.chapter) 

그리고 나는 내가 가지고있는이 시점까지이 코드 아무 문제보기 컨트롤러의 .bind(to: tableView.rx.items...에, 그래서이 없다는 것을 가정 :

viewModel.showChapter.bind(to: self.viewModel.chapterAction).disposed(by: viewModel.disposeBag) 

코디네이터에서보기 컨트롤러 viewModel 이상 subscribe에 바인딩하고 싶습니다.
모두 정상적으로 작동하지만 일부 셀에서는 이 중복됩니다. 도청은 왜 발생합니까? distinctUntil, shareReply을 넣어 봤지만 아무것도 내 문제를 돕는 것처럼 보이지 않으며 결정적인 것이 아닙니다. ,

override func prepareForReuse() { 
    super.prepareForReuse() 
    disposeBag = DisposeBag() 
} 

다음 :

답변