Object-C中protocol协议的简单介绍

一句话简单介绍protocol的作用:专门用来声明一些方法,某类遵守了这个协议,相当于拥有了协议中这些所有的方法的声明。

创建方式:

Xcold中新建OC文件,选择protocol类型,输入协议名称,点击创建,只创建一个.h文件。

语法样式:

@protocol sampleProtocol <NSObject>

@required
-(void)showFirstFunction;
-(void)showSecondFunction;

@optional
-(void)executeOptionalFunction;

@end

@protocol class : fatherClass <ptrotocol name>

// Write protocol function here...

@end

@required和@optional的说明:

如果加入@required修饰,后面声明的方法,在遵守的类中必须实现。

如果加入@optional修饰,后面声明个的方法,在遵守的协议类中可以不用实现,不实现也不会收到提示未实现的警告。

不过,即便是加了@required修饰,也可以不实现,但是会收到提示警告。更多的应用场景是多人协作开发过程中,提示团队成员如果遵守这个协议应该必须实现哪些方法,哪些是可以选择性实现的。提示意义更重一些。

关于协议的遵守和继承

1.一个类可以遵守多个协议,语法<procotolA,protocolB>

2.协议可以继承其它协议,子协议不仅拥有自己的方法,还拥有父类的方法。

3.NSObject同时是一个类名称,也是一个协议的名称,协议名称和类名称可以同名。因为NSBbject遵守了<NSObject>协议,因此,该协议内的所有方法,所有的OC对象都拥有。

其它说明:

如果想让一个指针类型是遵守某个协议的类型,可以写为:

NSString<protocolA> *string = [XXX new];

若创建的对象未遵守该协议,则会收到提示警告。避免该对象没有遵守该协议或者没有实现该协议中的方法。

猜你喜欢

转载自blog.csdn.net/JustinZYP/article/details/124186717