iOS中协议和代理的理解
协议(Protocol) : OC中可以把协议理解为方法的集合,一个协议下有很多方法,包括必须实现的方法和非必须实现的方法.了解Java的同学可以把协议和Java中的接口想成差不多一样的,但是与Java接口中不同的是协议中可以定义可选择实现的方法.
OC中协议的定义代码

Java中接口的抽象方法定义

代理(Delegate): 代理我个人理解是一种设计模式,OC中代理的模式是通过Protocol来实现的,指的是让其他类去实现遵守的协议中的方法.在本类中再调用这个方法,从而达到代理的目的. 比如A这个类想有一个方法,但是不想去实现这个方法,那么就找到B,B去实现A的这个方法,然后A再调用这个方法,这样A就成功的委托B去实现方法,达到代理的目的.

网友评论