OC 协议
协议(protocol)类似于java语言里的接口(interface),定义了一 组方法,而不提供具体实现, 只有那些“遵守”(conform to)或“采用”(adopt)了这些Protocol的类来给出自己的实现。协议不是类本身,它们仅定义了其它对象有责任实现的接口。当在自己的类中实 现协议的方法时,用户的类就是遵守这个协议的,协议声明的方法可以被任何一个类实现。
协议是通过网络,计算机使用者进行通讯后,互相进行约定规定的集合。
协议分为正式协议和非正式协议,写法上的区别是:非正式协议用@interface 来定义
;正式协议用@protocol来定义。其实就是非正式协议(interface)换了一种写法而已,看上去更正规一些,语义上更强烈一些:要求采用该协议的类,”必须”实现协议中约定的方法。但是即使号称正式协议,编译器在编译时,遇到不守规矩的情况,仍然只是给出警告。
协议的作用是:
正式协议可以将业务中的方法定义分出来,形成一个单独的文件。如果两个系统需要交换数据,可以指定一套双方都遵守的协议,然后在这两个系统中都把这个协议文件添加到项目中,实现它的必须实现方法即可。这一功能,非正式协议(@interface)就做不到了。