使用FunctionalTableData构建应用程序(第1部分)

Shopify构建的FunctionalTableData库采用另一种方法来解决先前的问题。 通过创建我们所有元素必须遵循的可重用的封装CellConfigType协议。 我们可以在UITableViewUICollectionView显示这些项目,而无需更改其中的任何一行代码。

使用CellConfigType

名为HostCell,的库提供了CellConfigType即用型实现HostCell,我们将在这些文章中使用它来降低学习难度。 当使用FunctionalTableData时, CellConfigType实例化实现是您唯一关心的问题,其余的工作将为您完成。 如果您感到好奇并想在内部进行窥视,欢迎您深入研究代码库。

HostCell由给定视图的UIView,状态和布局组成。 如果我们以应用预览(图1)为例, LabelCellHostCell实现将类似于以下内容。

它可能看起来很多,但是一旦我们开始阅读代码,它就非常简单。 我们将State定义为表示视图的信息,在此示例中,UILabel可以具有文本,字体,以及是否为多行形式的State 。 图1的顶部单元很容易用此State表示。 我们可以利用LabelState初始化程序中的默认值,并创建一个LabelCell如下所示:

Interesting Posts