Swift4 使用 "协议+泛型"简化UITableView的使用
发布时间:2019-01-10
定义、注册、使用时我们会用到三次CellReuseldentifier,我们通过用协议和泛型简化UITableView的使用, 即不再需要这三次的Identifier
步骤:
1.定义协议
import UIKit
protocol RegisterCellorNib { }
extension RegisterCellorNib {
static var identifier:String {
return "X (self)"
}
static var nib: UINib?{
return UINib (nibName: "(self)", bundle: nil)
}
}
1.遵守协议,快速创建注册/重用UITableView
import UIKit
extension UITableView {
/**
T遵守RegisterCellorNib协议
*/
func yq_ registerCell<T:UITableViewCell>(cell:T.Type) where T:RegisterCellorNib {
ifletnib=T.nibf11xib{// xib
register(nib, forCellReuseldentifier:T. identifie
}else { // cell
register(cell, forCellReuseIdentifier: T. identif
ier)
}
}
func yq_ dequeueReuserableCell<T:UITableViewCell>( indexPath: IndexPath)- >T where T: RegisterCellorNib{
return dequeueReusableCell(withIdentifier: T. identifier, for: indexPath) as! T
}
}
热门文章
nginx+php 开启PHP错误日志
行业早报2019-01-15为什么你说了很多遍,对方还是不听? 2018-09-25
行业早报2019-01-15【Ruby on Rails实战】3.1 宠物之家论坛管理系统介绍
行业早报2019-01-15从凡人到筑基期的单片机学习之路
行业早报2019-01-15jmeter单台大数量并发
行业早报2019-01-15Go在Windows下开发环境搭建
行业早报2019-01-15ES-科普知识篇
行业早报2019-01-15Hbase 之 由 Zookeeper Session Expired 引发的 HBASE 思考
行业早报2019-01-15谷歌大脑专家详解:深度学习可以促成哪些产品突破?
行业早报2019-01-15EventLoop
行业早报2019-01-15
相关推荐