美文网首页
iOS代理设计模式入门笔记

iOS代理设计模式入门笔记

作者: Redpower | 来源:发表于2016-04-18 23:21 被阅读84次

    只能一对一创建使用

    一.代理协议解决对象间通信的关键:判断谁是代理对象,谁是被代理对象。

    判断方法:

    (1)谁产生事件,谁就是被代理对象;

    (2)谁响应事件,谁就是代理对象。

    例如:小孩饿了,需要母亲喂饭。饿了要吃饭这一事件是小孩产生的,母亲收到通知后去喂饭,是响应者,所以小孩是被代理对象,母亲是代理对象。

    二.使用方法

    1.在被代理对象.h文件中申明代理,创建代理方法

    // 照顾小孩的协议

    @protocol BabyDelegate

    //创建代理方法

    - (void)washBaby:(Baby *)baby;

    - (void)babyEat:(Baby *)baby;

    @end

    2.在被代理对象中.h文件中创建代理对象

    @property (nonatomic, weak) id delegate;

    3.在被代理对象的.m文件中实现代理方法

    if ([self.delegate respondsToSelector:@selector(washBaby:)]&&[self.delegate respondsToSelector:@selector(babyEat:)]) {

    [self.delegate washBaby:self];

    [self.delegate babyEat:self];

    }

    4.在代理对象中签订代理协议,并在.m文件中设置代理对象

    @interface Mother : NSObject

    mom.delegate = self;

    5.在代理对象中实现代理方法

    - (void)washBaby:(Baby *)baby{

    NSLog(@"母亲给孩子洗澡");

    }

    - (void)babyEat:(Baby *)baby{

    NSLog(@"母亲给孩子喂饭");

    }

    相关文章

      网友评论

          本文标题:iOS代理设计模式入门笔记

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