黑马程序员--ios protocol语法简介

来源:互联网 发布:电脑锣编程群 编辑:程序博客网 时间:2024/06/05 12:40

protocol基本用途:
可以用来声明一大堆方法(不能声明成员变量)
只要某个类遵守了这个协议,就相当于拥有了这个协议中的所有方法声明
只要父类遵守了某个协议,就相当于子类也遵守了


1.协议的定义:

@protocol 协议名称 <NSObject>
 方法声明列表
@end


2.如何遵守协议:
一个类遵守协议:
@interface 类名 : 父类名 <协议1, 协议2>

@end

协议遵守协议:

@protocol 协议名称 <其他协议名称1, 其他协议名称2>


@end


3.协议中方法声明的关键字:
1>@required (默认)
要求实现,如果没实现,会发出警告
2>@optional
不要求实现,怎样都不会有警告


4.定义一个变量的时候限制这个变量保存的对象遵守某个协议:
类名<协议名称> *变量名;
id <协议名称> 变量名

NSObject <MyProtocol> *obj;

id <MyProtocol> obj;
如果没有遵守相对应的协议,编译器会警告


5.@property 中 声明的属性中也可以做一个遵守协议的限制
@property (nonatomic, strong) 类名 (协议名称) *属性名;
@property (nonatomic, strong) id(协议名称) 属性名;

6.协议可以单独定义在.h文件中,也可以定义在某个类中
1>如果这个协议只用在某个类中,应该把协议定义在该类中

2>如果这个协议用在很多类中,就应该定义在单独文件中


0 0
原创粉丝点击