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

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

  • 相关阅读:
    leetcode122
    leetcode121
    leetcode773
    leetcode803
    leetcode658
    leetcode723
    leetcode134
    leetcode340
    leetcode721
    leetcode362
  • 原文地址:https://www.cnblogs.com/sallet/p/5336429.html
Copyright © 2011-2022 走看看