声明1个指针,这个指针指向的对象要求遵守指定的协议.
- 什么类型的对象都可以,唯一的要求就是这个对象要遵守指定的协议.
NSObject<协议名称> *obj;
这个obj指针只能指向遵守了指定协议的任何对象. 如果没有遵守这个协议 那么编译器会报1个大大的警告.
- 之所以,要求对象要遵守某个协议,是因为我们后面要调用这个对象中的协议方法.
- 其实也可以使用id指针.id指针的好处不会做编译检查.
- 和NSObject类一样 也是1个万能指针 可以指向任何对象.
id<协议名称> id1;
这个时候,id1指针只能指向遵守了指定协议的对象 如果没有遵守这个协议 那么编译器会报1个大大的警告.
如果要求1个指针指向的对象通同时遵守多个协议.
NSObject<协议名1,协议名2> *obj;
id<协议名1,协议名2> id1;
如果希望指针指向遵守了指定协议的指定类的子类对象.
- 父类<协议名> *指针;