美文网首页iOS学习开发iOS开发技术分享
Swift4 使用 "协议+泛型"简化UIT

Swift4 使用 "协议+泛型"简化UIT

作者: iOS雯Ping | 来源:发表于2018-12-12 18:40 被阅读0次

定义、注册、使用时我们会用到三次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
     }
}

相关文章

网友评论

    本文标题:Swift4 使用 "协议+泛型"简化UIT

    本文链接:https://www.haomeiwen.com/subject/agvphqtx.html