swift 代理
2017-08-18 本文已影响29人
机智的猪
代理
在tableviewcell中 点击view controller收到并跳转控制器
old
1.cell中 定义协议
@objc protocol SponsorTableViewCellDelegate: NSObjectProtocol {
func pushToSponsorDetailView(model: SponsorData)
}
2.cell中 写一个代理属性
weak var delegate: SponsorTableViewCellDelegate?
3.cell中 按钮点击事件中 通知代理做事情
@objc func topContentViewTap() -> Void {
self.delegate?.pushToSponsorDetailView(self.sponsorData)
}
4.控制器中 设置代理
cell.delegate = self
5.实现代理的方法
func pushToSponsorDetailView(model: SponsorData) -> Void {
let sponsorDetailVC = SponsorDetailTableViewController()
sponsorDetailVC.modelData = model
self.navigationController?.pushViewController(sponsorDetailVC, animated: true)
}
new
1.cell中定义协议
protocol SponsorTableViewCellDelegate {
func pushToSponsorDetailView(model: SponsorData)
}
2.cell中 写一个代理属性
var delegate: SponsorTableViewCellDelegate?
3.cell中 按钮点击事件中 通知代理做事情
@objc func topContentViewTap() -> Void {
self.delegate?.pushToSponsorDetailView(self.sponsorData)
}
4.控制器中 设置代理
cell.delegate = self
5.实现代理的方法
func pushToSponsorDetailView(model: SponsorData) -> Void {
let sponsorDetailVC = SponsorDetailTableViewController()
sponsorDetailVC.modelData = model
self.navigationController?.pushViewController(sponsorDetailVC, animated: true)
}