以打酱油的方式学新的东西,是很痛苦的,首先进度慢,其次学了没有在工作上运用,三学也是为了跟同事方便交流。到现在看来,学新语言,确定是方便跟同事交流了。
团队之间的合作,免不了交流,交流的内容也有很多很多,比如:设计模式,协议,数据格式,统一规范等等,但有一点也是很重要的,那就是相互了解对方所用的语言及语言之间的优点与缺点,比如后端要以JSON格式发送给前端,如果前端对JSON数据不好解析,那后端在设计的时候能考虑到这一点时候,可以减少交流之间的一些小矛盾。
又比如做网页游戏,前端用提as语言,后端用的是java,或基础,那会java的又会一些as语言,要构造数据给前端时,可以根据as的一些特点来生成比较合适的格式,这是让双方很愉快。好吧,我学习Oc也是一样的目的,不是为了兴趣,不是为了以后找这类的工作,而是为了现在进行的项目更好地跟前端同事交流。好了,转入今天的正题--《协议》
说到协议,很多其他(OC以外)程序员不太知道这是什么东西,会猜想这是通信双方定的,但在OC不是这个意思,它是一种规范,就是C++的虚函数,java的接口,php的抽象函数,现在应该懂了,它就是已经声明好方法,却没有实现,用它这个协议的类,必须得去实现它,这让编程开发产生了一种“协议”,不履行协议,编译不让通过,于是就想到了底层来限制规范了吧。
OC协议格式 :
@protocol MyProtocol<NSObject>
//要定义的变量
- (void) init;
-(int) update:(int)time;
@end
@interface MyString <MyProtocol>
@end
跟其他的语言比较相似,但在OC中,把协议加入进来只能是在接口里