Reusable 是一个 Swift 微型包,它提供了一种类型安全的方式,用于在表格视图和集合视图中注册和出列单元格。它基于几年前我探索 Swift 语言特性时撰写的这篇文章。
为了能够以类型安全的方式注册和复用单元格或补充视图,该视图必须遵循 ReusableView
协议。
extension PosterItemCell: ReusableView {}
ReusableView
的默认实现将提供基于类名的复用标识符。
使用 Interface Builder 实现的单元格也必须遵循 NibLoadableView
协议。
extension PosterItemCell: ReusableView, NibLoadableView {}
单元格或补充视图准备好后,您可以通过指定其类型在集合视图或表格视图中注册它。
func viewDidLoad() {
super.viewDidLoad()
collectionView.register(PosterItemCell.self)
...
}
同样,您可以通过指定其类型来出列先前以这种方式注册的单元格。
func collectionView(_: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(PosterItemCell.self, for: indexPath)
...
return cell
}
使用 Swift Package Manager
将 Reusable 作为依赖项添加到您的 Package.swift
文件。 有关更多信息,请参阅 Swift Package Manager 文档。
.package(url: "https://github.com/gonzalezreal/Reusable", from: "1.0.0")
Reusable
进行一些更改,请打开一个 PR。