使用FunctionalTableData构建应用程序(第1部分)
Shopify构建的FunctionalTableData库采用另一种方法来解决先前的问题。 通过创建我们所有元素必须遵循的可重用的封装CellConfigType
协议。 我们可以在UITableView
和UICollectionView
显示这些项目,而无需更改其中的任何一行代码。
使用CellConfigType
名为HostCell,
的库提供了CellConfigType
即用型实现HostCell,
我们将在这些文章中使用它来降低学习难度。 当使用FunctionalTableData
时, CellConfigType
实例化实现是您唯一关心的问题,其余的工作将为您完成。 如果您感到好奇并想在内部进行窥视,欢迎您深入研究代码库。
HostCell
由给定视图的UIView,状态和布局组成。 如果我们以应用预览(图1)为例, LabelCell
的HostCell
实现将类似于以下内容。
它可能看起来很多,但是一旦我们开始阅读代码,它就非常简单。 我们将State
定义为表示视图的信息,在此示例中,UILabel可以具有文本,字体,以及是否为多行形式的State
。 图1的顶部单元很容易用此State
表示。 我们可以利用LabelState
初始化程序中的默认值,并创建一个LabelCell
如下所示: