Swift 的范型 + 扩展,
用于集合类型,很强
范型就是模版,Generic + Extension 很适合搞代码简化
本文通过 6 个例子,体现
例子一
实现这种效果
- 有数据,一个界面
- 没数据,使用默认界面
var array: [String]?
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
// 没数据,就返回一个,放默认图
return array.validCount
}
因为这种界面比较多,逻辑类似,
具体渲染的 Array.Element
是不同的结构体,所以用范型搞代码简化
extension Optional where Wrapped: Collection{
var validCount: Int{