代理模式:将我(类或结构体)需要来完成的工作交给另一个具备我所要求的能力的人(实现协议的对象)来执行
协议:具备哪些能力
例子:我要去买火车票,没时间买,委托黄牛买票
协议:买票
//: 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()
更多的是在实现协议的类中为委托类(雇主)的委托对象(代理)赋值,实现方式是通过页面跳转将委托类传递到实现协议的类中,获取代理,进行赋值
时间: 2024-10-13 12:02:36