Сейчас я изучаю RxCocoa для UITableView. Все работает нормально с представлением ячеек, но когда я добавляю закрытие для обработки выбора строки, появляется задержка. Я имею в виду, что когда я нажимаю первую строку, ничего не происходит, когда я нажимаю закрытие второй строки, показывает реакцию, которую я ожидал для первой строки, третьей - для второй и т. Д. Пожалуйста, взгляните на мой код и помогите мне решить проблему .
import RxCocoa
import RxRelay
import RxSwift
import UIKit
final class ListViewController: UITableViewController {
private var todos = BehaviorRelay<[String]>(value: ["Clean the apt", "Learn to code", "Call mom", "Do the workout", "Call customers"])
let bag = DisposeBag()
override func viewDidLoad() {
super.viewDidLoad()
title = "RxTodoList"
tableView.dataSource = nil
tableView.delegate = nil
todos
.bind(to: tableView.rx.items) { (tableView, row, element) in
let cell = tableView.dequeueReusableCell(withIdentifier: "TodoCell")!
cell.textLabel?.text = "\(element)"
return cell
}
.disposed(by: bag)
tableView.rx
.modelDeselected(String.self)
.asObservable()
.subscribe(onNext: { [weak self] todo in
print(todo)
})
.disposed(by: bag)
}
}