• 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()
    

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

  • 相关阅读:
    Kafka 探险
    Semaphore 源码分析
    ReentrantLock 与 AQS 源码分析
    synchronized 原理分析
    ConcurrentHashMap 源码分析
    LinkedHashMap 源码分析
    HashMap 源码分析
    ArrayList 源码分析
    TCP 详解
    proxifier配合ss,实现全局代理
  • 原文地址:https://www.cnblogs.com/sallet/p/5336429.html
Copyright © 2020-2023  润新知