【问题标题】:RxSwift and static cellsRxSwift 和静态单元格
【发布时间】:2017-05-24 23:56:42
【问题描述】:

我想在我的项目中使用 RxSwift,但是因为我是新手,所以我可能误解了一些原则。我很清楚如何捕捉按钮按下或将 rxswift 与带有动态单元格的 UITableView 一起使用(有很多教程),但我不明白如何将它与带有 STATIC 单元格的 UITableView 一起使用- 我想开发类似 iOS Settings.app 的东西。你能给我举个例子吗?使用 rxswift 是一个好习惯吗?或者也许我应该使用其他东西?

【问题讨论】:

  • 使用 rx 更新单元格中的视图,在标准委托方法“didSelectRowAtIndexPath”中捕获表视图的选择

标签: ios swift uitableview rx-swift


【解决方案1】:

您可以从静态表格视图单元格按钮中拖动@IBOutlet weak var button: UIButton!,所以它是这样的:

class TableViewController: UITableViewController {

    @IBOutlet weak var button: UIButton!

    ...


    override func viewDidLoad() {
        super.viewDidLoad()

        ...

        button.rx.tap
            .subscribe()
            .disposed(by: disposeBag)
    }

    ...
}

希望这会有所帮助。

【讨论】:

    【解决方案2】:

    要处理静态单元格,您必须使用 UITableViewController(我假设您知道),但您仍然可以在其 tableView 上使用 rx 运算符。

    当然你不需要在上面使用items 操作符,因为单元格已经构建好了,但是你仍然可以使用itemSelected 来确定哪个单元格被点击了:

    final class ViewController: UITableViewController {
    
        override func viewDidLoad() {
            super.viewDidLoad()
    
            tableView.rx.itemSelected
                .subscribe(onNext: { print("selected index path \($0)") })
                .disposed(by: bag)
        }
    
        let bag = DisposeBag()
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-05-13
      • 1970-01-01
      • 1970-01-01
      • 2012-10-03
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多