gpt4 book ai didi

ios - swift 4 中的 RxSwift,将数据绑定(bind)到 tableview

转载 作者:可可西里 更新时间:2023-11-01 05:07:28 25 4
gpt4 key购买 nike

我在尝试遵循对 MVVM 模式和 RxSwift 的介绍时遇到了问题。

大约进行到一半时,他将数据源(汽车)绑定(bind)到 tableView。这是我似乎无法在 swift 4 中工作的部分。

我正在使用以下 pod:

pod 'RxSwift', '4.0.0-beta.0'
pod 'RxCocoa', '4.0.0-beta.0'

这是我尝试过的代码,但我遇到了错误(认为在图片上更容易看到): enter image description here

我已经查看了所有其他提及此修复的问题:
RxSwift, RxCocoa and UITableview
Cannot set bind(to: UITableView) with RxSwift Variable asObservable()

但似乎无法使其与 swift 4 版本一起使用。希望你们能帮助我:)

最佳答案

错误信息具有误导性。问题在于您初始化 cars 属性的方式。您的cars Variable 包装了一个Optional 类型。您不能将其绑定(bind)到 TableView 。

将初始化更改为以下行,一切正常:

var cars = Variable((UIApplication.shared.delegate as! AppDelegate).cars)

顺便说一下,您不必将 cars 数组包装在 Variable 中,您可以将其保留为数组:

let cars = (UIApplication.shared.delegate as! AppDelegate).cars

然后使用 Observable.of() 将其绑定(bind)到 TableView :

Observable.of(cars).bind(to: tableView.rx.items(cellIdentifier: "CarCell", cellType: CarTableViewCell.self)) { (_, carViewModel: CarViewModel, cell) in
cell.carViewModel = carViewModel
}.addDisposableTo(disposeBag)

关于ios - swift 4 中的 RxSwift,将数据绑定(bind)到 tableview,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46545461/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com