swift 代理

代理
在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)
    }



最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • iOS网络架构讨论梳理整理中。。。 其实如果没有APIManager这一层是没法使用delegate的,毕竟多个单...
    yhtang阅读 10,706评论 1 23
  • swift中的代理传值跟oc中的用法基本一样,都是用于反向传值,这里假设a界面向b界面传值为正向传值,则: 在b界...
    旅途开发者阅读 4,363评论 0 0
  • 曾子曰:吾日三省吾身。为人谋而不忠乎?与朋友交而不信乎?传不习乎? 译:曾子说我每天多次反省自己,为别人办事是不是...
    JINYANL阅读 1,607评论 0 0
  • 解说词:在《短书集》中常常会有关于宇宙、星空的话题。这些话题无论如何与我们的现实生活不会产生太大的影响。但是在《短...
    Andylee阅读 3,101评论 0 0
  • 两栏布局(bfc)demo 原理:BFC的区域不会与float box重叠。通过触发main生成BFC, 来实现自...
    喵不吱阅读 2,732评论 0 0

友情链接更多精彩内容