RxSwift订阅onNext不在绑定后调用

时间:2017-11-09 13:40:34

标签: ios swift rx-swift rx-cocoa

我正在使用RxSwift 4.0并使用DTTableViewManager

构建tableView内容 在Presenter中,我有模型变量

1

lazy var mostRecent: TableTitleHeaderContainer = {
    let container = TableTitleHeaderContainer(isHidden: true, title: "Title 1")
    return container
}()

lazy var lastRecent: TableTitleHeaderContainer = {
    let container = TableTitleHeaderContainer(isHidden: false, title: "Title 2")
    return container
}()

模型代码

2

class TableTitleHeaderContainer {
    var subject: PublishSubject<Void> = PublishSubject<Void>()
    var isHidden: Bool
    var title: String
    var disposeBag = DisposeBag()
    init(isHidden: Bool, title: String) {
        self.isHidden = false
        self.title = title
    }
}

并使用模型

查看配置

第3

extension TableTitleHeaderView: ModelTransfer {
    func update(with model: TableTitleHeaderContainer) {
        clearButton.isHidden = model.isHidden
        clearButton.rx.tap
            .bind(to: model.subject).disposed(by: disposeBag)
        titleLabel.text = model.title
    }
}

我想听一下Presenter中的按钮

4

mostRecent.subject.asObserver().subscribe(onNext: { [weak self] (_) in
    print("Clear mostRecent")
}).disposed(by: disposeBag)

lastRecent().subject.asObserver().subscribe(onNext: { [weak self] (_) in
    print("Clear lastRecent")
}).disposed(by: disposeBag)

但是在Presenter中使用模型订阅配置视图后没有调用? 有什么麻烦?

0 个答案:

没有答案