黑马程序员技术交流社区

标题: protocol要点总结 [打印本页]

作者: yuanlingqi    时间: 2014-11-10 20:47
标题: protocol要点总结
protocol的定义
》协议是一种特殊的程序设计结构,用于声明专门被别的类实现的方法。
》@protocol称为协议,类似java接口,但与接口又又区别,协议没有父类也不能定义实例变量。
》@protocol 协议名称 <NSObject>
     ----方法定义
     @end

如何遵守协议
》一个类可以遵守多个协议,尖括号里用逗号隔开
@interface 类名:父类名称 <协议名称1,协议名称2,...>
@end

协议之间的扩充
》一个协议可以扩充另一个协议,使用尖括号语法
@protocol 协议名称 <MyProtocolPre>
@end

protocol方法的修饰关键字
》@required-协议强制要实现的方法,这是默认修饰符;
》@optional-可选的实现方法;

其他
》创建的协议必须遵守基协议
》若父类遵守某份协议,则所有子类也会遵守
》基类默认遵守了基协议
》id相当于NSObject *


作者: yuanlingqi    时间: 2015-1-20 19:35
当赋值需要限定实现了某协议的对象时,写法如下,这种写法类似java里的泛型用法。 NSObject<MyProtocol> *obj;
作者: yuanlingqi    时间: 2015-1-20 19:36
协议可以直接写在类中,也可以独立文件,看协议的用途选择实现方式。(分类的实现也类似。)




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2