iOS中协议和代理的理解协议(Protocol) : OC中可以把协议理解为方法的集合,一个协议下有很多方法,包括必须实现的方法和非必须实现的方法.了解Java的同学可以把协议和Java中的接口想成差不多一样的,但是与Java接口中不同的是协议中可以定义可选择实现的方法.OC中协议的定义代码 OC代码 Java中接口的抽象方法定义 Java代码 代理(Delegate): 代理我个人理解是一种设计模式,OC中代理的模式是通过Protocol来实现的,指的是让其他类去实现遵守的协议中的方法.在本类中再调用这个方法,从而达到代理的目的. 比如A这个类想有一个方法,但是不想去实现这个方法,那么就找到B,B去实现A的这个方法,然后A再调用这个方法,这样A就成功的委托B去实现方法,达到代理的目的.