gpt4 book ai didi

swift - 在 rx-swift 重新加载表格后,在 UITableView 中保持选择

转载 作者:行者123 更新时间:2023-11-28 13:54:23 26 4
gpt4 key购买 nike

我有一个看起来像这样的表格 View :

data
.drive(tableView.rx.items(cellIdentifier: "cell")) { index, model, cell in
// update cell
}
.disposed(by: disposeBag)

当用户选择一个单元格然后数据发生变化时,rx-swift 将重新加载表格 View 并且选择丢失。

我确实有对所选 indexPath 的引用,但设置选择的好方法是什么?

目前我唯一的想法是这样的:

data
.delay(0.2) // make shure this happens after the reload
.drive(onNext: { model in
// select tableview cell
})

这显然很糟糕 :-(

威尔RxDataSources解决这个问题?如果是怎么办?

或者还有其他方法可以保留这个选择吗?

最佳答案

是的,RxDataSources 将解决问题,或者您可以自己动手。解决方案是只重新加载需要重新加载的单元格,而不是整个 TableView 。这是基本的 RxCocoa 系统不会做的事情。

要解决这个问题,你需要一个自定义的DataSource。这是我使用 DifferenceKit 编写的用于跟踪更改的一个。 ( https://github.com/dtartaglia/RxMultiCounter/blob/master/RxMultiCounter/RxExtensions/RxSimpleAnimatableDataSource.swift )

关于swift - 在 rx-swift 重新加载表格后,在 UITableView 中保持选择,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54077522/

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