美文网首页
delegate的理解与使用

delegate的理解与使用

作者: 陌巷先森 | 来源:发表于2019-02-28 10:15 被阅读0次

    什么是delegate

    delegate就是委托模式,将一件属于委托者做的事情,交给另外一个被委托者来处理。一个标准的委托由以下部分组成:
    协议的声明:用协议(Protocol)来申明哪些方法被委托出去。

    //代理的创建
    @protocol EventViewDelegate<NSObject>
    @optional
    //代理方法
    - (void)sendValue:(NSString *)value;
    @end
    

    委托者申明一个属性:委托者里有一个属性代表被委托者,使用weak来修饰

    //声明协议变量
    @property(nonatomic, weak)id<EventViewDelegate> delegate;
    

    被委托者声明实现协议:被委托者需要声明自己实现了协议

    //实现协议方法
    - (void)sendValue:(NSString *)value{
        NSLog(@"eventView:%@",value);
    }
    

    delegate的用途

    • 传递事件
      传递事件就是希望A发生了什么事情,希望B知道并在自己的类里面做出某些反应。
    • 确定事件可执行
      当A需要执行某个事件时,A不确定是否可执行,希望B回应下。
    • 传递值
      当A跳到B再返回时,将B的值回传给A。

    相关文章

      网友评论

          本文标题:delegate的理解与使用

          本文链接:https://www.haomeiwen.com/subject/jmjyjftx.html