天天看点

OC-protocol

protocol 总结:

非正式协议:给NSObject或其子类增加类别

协议

1.概念:一堆方法的声明,一般写到一个.h头文件中, 而没必要全部实现,分为 必须实现和选择实现.

2.定义协议:

    @protocol 协议名称 <NSObject>

    //方法声明列表

    @end

3.遵守协议:就相当于拥有了这个协议中所有的声明

    1)类遵守协议:就必须实现协议中规定必须实现

    @interface 类名 : NSObject<协议名称1,协议名称2>

    @end

    2)协议遵守协议:

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

    @end

4.

@required:协议中必须实现的方法

@optional:不一定要实现的方法

5.protocol 类型限制

1)id<协议名> obj  :给id类型增加类型限制

2)类名<协议名> obj   :必须是该类的对象 且需遵守该协议

5.protocol代理设计模式

1)概念:传入的对象代替当前对象完成了某个功能

2)应用场合:监听器的场合  通知的场合 有些事情不想自己处理,交给别人处理