iOS Protocol基础

基本用途

  • 可以用来声明很多方法不能声明成员变量,只有.h文件
  • 只要某个类遵守了这个协议,就相当于拥有了这个协议中的所有方法声明任何类都可以使用协议,只要遵守它
  • 只要父类遵守了某个协议,就相当于子类也遵守了

二、格式

  • 协议的编写
@protocol 协议名称
方法声明列表
@end

@protocol myProtocol  
@required  //要求实现,不实现就会发出警告
- (void)test1;

@optional  //不要求实现
- (void)test2;

  • 某个类遵守协议
@interface 类名:父类<协议名称1,协议名称2>
@end

.h
#import "头文件.h"
@interface Person:NSObject
@end

.m
-(void)test1{
}
-(void)test2{
}

三、关键字

协议中有两个关键字可以控制方法是否要实现默认是@required,要求实现,如果没有实现,会发出警告,在大多数情况下,用于程序员之间的交流

四、协议可以遵守协议协议继承协议、扩充一些方发声明

@protocol MyProtocol3 
- (void)hehe;
@end

你可能感兴趣的:(iOS Protocol基础)