RxSwift: действие нажатия кнопки от awakeFromNib до UIViewController - PullRequest
0 голосов
/ 03 ноября 2019

Я Rx-Swift новичок. Я пытаюсь получить действие UIButton, которое присутствует внутри UITableViewCell.

Попытка:

  1. Я пытался с UITableViewCell's экземпляром, который яможно получить от UIViewController. Это нормально работает.

Необходимость:

  • Как перенести значение кликаемого тега с awakeFromNib() на UIViewController?

Код:

// UITableViewCell

class TripInfoCell: UITableViewCell {

    @IBOutlet weak var btnMore: UIButton!
    var cellbag = DisposeBag()

    override func prepareForReuse() {
        super.prepareForReuse()

        cellbag = DisposeBag()
    }

    override func awakeFromNib() {
        super.awakeFromNib()


        btnMore.rx.tap.asObservable()
           .subscribe { _ in

            print("Tapping_   ", self.tag)

        }.disposed(by: cellbag)

    }

}


// UIViewController
override func viewDidLoad() {
    super.viewDidLoad()

    Observable.of(visitsModel).bind(to: tblView.rx.items(cellIdentifier: "cell", cellType: TripInfoCell.self)) { (row, element, cell) in

       cell.tag = row

    }
    .disposed(by: disposeBag)
}

Попытка:

Здесь UIButton действие, которое я использовал внутри UIViewController,Так что я могу передавать данные.

Observable.of(visitsModel).bind(to: tblView.rx.items(cellIdentifier: "cell", cellType: TripInfoCell.self)) { (row, element, cell) in

      cell.tag = row

      cell.btnMore.rx.tap.asObservable()
           .subscribe { _ in

           print("Inside_Tapping_   ", cell.tag)

      }.disposed(by: cell.cellbag)


}
...