IOS 协议和委托的理解

protocal存在的一个重要意义在于:

正式协议(protocal)可以将业务中的方法定义剥离出来,形成一个单独的文件,这跟传统OO中的提取接口是不谋而合的。如果遇到二个系统需要交换数据,可以制定一套双方都遵守的protocal,然后这二个系统中都把这个协议文件添加到项目中,实现它即可。这一功能,非正式协议(@interface)就做不到。


obj-cOO世界中,身为万物之祖的NSObject其实也就一个"正式协议,所以从NSObject派生出的所有类,都只是在遵守一个或多个协议而已。


protocol-协议,就是使用了这个协议后就要按照这个协议来办事,协议要求实现的方法就一定要实现。

delegate-委托,顾名思义就是委托别人办事,就是当一件事情发生后,自己不处理,让别人来处理。

当一个A view 里面包含了B view

b view需要修改a view界面,那么这个时候就需要用到委托了。

需要几个步骤

1、首先定一个协议

2a view实现协议中的方法

3b view设置一个委托变量

4、把b view的委托变量设置成a view,意思就是 b view委托a view办事情。

5、事件发生后,用委托变量调用a view中的协议方法

你可能感兴趣的:(协议和委托)