协议笔记(极客班)

2016-10-16  本文已影响0人  SkyFang2016

协议:类型的合同约定,只描述外部接口,不提供具体实现;

协议可以包含以下成员;

1,属性;

2,实例方法;

3,类方法;

4,初始化器(不常用)

5,析构器(不常用)

协议中无法包含实例变量成员;

协议中的定义的属性本质上是访问器方法,编译器不会合成实例变量

检查协议类型

使用conformsToProtocol检查对象是否实现了

还可以让子协议继承NSObject协议,利用performSelector方法判断方法是否实现;

/************

协议继承

1,一个协议可以继承一个或多个协议

2,实现自协议的类型,也必须实现父协议中约定的成员;

协议组合

1,可以使用protocol<A,B,......>来组合多个协议

2,实现组合协议的类型,必须实现组合协议中的每一个协议

可选协议

1,协议的某些成员可以定义为optional,不必实现;

常用的协议

NSObject

NSCopying

NSmutableCopying

NSFastEnumeration

NSCoding

上一篇 下一篇

猜你喜欢

热点阅读