如何为 TableView 和 CollectionView 制作可重用的单元格

How to make a reusable cell for both TableView and CollectionView

我在不同 ViewController 中有一个 TableView 和一个 CollectionView。现在我在他们两个中展示了一个完全相同的单元格。所以我想创建一个可重复使用的单元,以方便和易于维护。

我尝试创建一个 xib 并将自定义 class 设置为 UITableViewCell class,然后我可以在 UITableView 中注册并加载它。但是,我无法在 UICollectionView 中重用此 xib,因为 CollectionView 无法加载 TableViewCell。

所以我的问题是,有什么好的方法可以为 TableView 和 CollectionView 创建可重用的单元格吗?

UITableViewCell <- UIView

UICollectionViewCell <- UICollectionReusableView <- UIView

两者都来自 UIView,所以我认为您可以为 UIView 创建一个 xib,并在您的 UITableViewCellUICollectionViewCell 中使用该视图。 例如:How to load a xib file in a UIView

并且由于在某些情况下两个单元格都将具有公共代码,您可以使用类别来共享公共代码例如:Sharing code between UITableViewCell and UICollectionViewCell