您的位置:首页 > 移动开发 > IOS开发

IOS 代理模式 DELEGATE

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

协议:具备哪些能力

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

协议:买票

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


  更多的是在实现协议的类中为委托类(雇主)的委托对象(代理)赋值,实现方式是通过页面跳转将委托类传递到实现协议的类中,获取代理,进行赋值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: