优雅的可比较类型
1、使用属性包装器 SwiftyTraceableValue 对需要比较属性进行修饰
// Reactor
struct State {
@SwiftyTraceableValue var sections : [LXFSection] = []
...
}
2、使用 mapDistinctUntilTraceableValueChanged 方法,并在对应属性前加上 $
// View
reactor.state.mapDistinctUntilTraceableValueChanged { $0.$sections }
.bind(to: tableView.rx.items(dataSource: dataSource))
.disposed(by: disposeBag)