RxSwift中的TableView –第2部分

如果您还没有阅读上一部分,可以在这里获得。 在上一个中,我们讨论了如何设置具有一个部分和单元格类型的TableView。

在本文中,我们将讨论如何设置具有单元格类型的多节的TableView。

为什么我要为多节类型撰写另一篇文章?

我们看到了使用一个节和一个单元格处理TableView的过程很简单,但是如果我们要使用单元格类型来处理多个节,则应该安装RxDataSources并在此库的帮助下管理TableView。 因此,我决定另写一篇文章,介绍如何使用RxDataSources处理TableView。

在这一部分中,我们将设置具有多个节和单元格类型的TableView。

像上一部分一样,我在这里在Github上创建了一个简单的项目。

我在该项目中使用了MVVM设计模式。

安装吊舱

像以前一样,我们有RxSwift和RxCocoa,但是还应该添加一个Pod。 这是RxDataSources。

像以前一样,我们有三个独立的层。

模型

我们为两种不同的细胞类型创建两种不同的模型。 第一个模型是具有两个属性的学生。

您可以在下面看到TableViewSection和TableViewItem。 我们迅速使用Enum的功能并创建这两种类型。

像上一篇文章一样,我们创建了SectionOfStudent类型的发布主题。 就像我之前说过的,我们需要两个参数用于RxDataSources的SectionModel。 其中之一是TableViewItem,因此我们将创建项目并将其附加到TableViewItem数组中。 之后,我们创建SectionOfStudent (SectionModel的类型别名)对象,并为itemType传递item和main(TableViewSection代表section类型)项。

  SectionOfStudent(model:.main,项目:subItems) 

最后,我们将SectionOfStudent放入数组中,然后调用发布主题的onNext() 。 我们将SectionOfStudent放在数组中的原因是我们可能希望拥有更多的Sections类型。

请参见下面的代码:

感谢您阅读本文,如果喜欢,请与他人分享😊。
我正在等待在评论部分中看到您的评论或推荐。