zoukankan      html  css  js  c++  java
  • IOS 代理模式 DELEGATE

    代理模式:将我(类或结构体)需要来完成的工作交给另一个具备我所要求的能力的人(实现协议的对象)来执行

    协议:具备哪些能力

    例子:我要去买火车票,没时间买,委托黄牛买票

    协议:买票

    //: Playground - noun: a place where people can play
    
    import UIKit
    
    
    protocol BuyTicketProtocol {
        // 买票的需求---实际是我需要做的事情
        func buyTicket ()-> AnyObject;
    }
    
    class MyTicket{
        var delegate: BuyTicketProtocol? //我不想自己去买,找个代理,只要满足了买票的需求就可以
        
        func getTicket() -> AnyObject {
            return delegate!.buyTicket()
        }
        
    }
    
    class ZhongJie: BuyTicketProtocol {
        
        func buyTicket() -> AnyObject {
            //随便返回一个对象
            return NSDate()
        }
    }
    
    let myTicket = MyTicket()
    myTicket.delegate = ZhongJie()
    
    myTicket.getTicket()
    

      更多的是在实现协议的类中为委托类(雇主)委托对象(代理)赋值,实现方式是通过页面跳转将委托类传递到实现协议的类中,获取代理,进行赋值

  • 相关阅读:
    luogu_1414 又是毕业季II
    luogu_1372 又是毕业季I
    luogu_1313 计算系数
    luogu_1134 阶乘问题
    luogu_1514 引水入城
    luogu_1120 小木棍
    文件操作
    快速排序
    c oth
    ANSI C与C89、C99、C11区别差异
  • 原文地址:https://www.cnblogs.com/sallet/p/5336429.html
Copyright © 2011-2022 走看看