iOS Delegate学习(送花ABC,一个悲伤的故事)

在学iOS开发的时候,常常遇到Delegate。今晚在hh的帮助下,我终于对它有了比较好的理解。现在,小陈将和各位看官聊聊Delegate。先来讲个故事吧:


害羞的小男生A决定向暗恋的小女生B送花。但由于自己太害羞,他决定请好哥们外向的小男生C帮忙送花。

为此,A和C制定了一个送花的协议。协议中有A想做却做不到的事情——送花。

C无条件答应了。于是C吭哧吭哧地带着玫瑰花送给了B。(至此,delegate已经成功执行)

后话是:这一切都让B看在了眼里,什么?B和C居然好上了。

哦!这是一个悲伤的故事。


我兴致勃勃地把这个故事用代码实现了。

代码中主要有以下文件:

1.ShyBoy类(害羞小男生)

2.OutgoingBoy类(害羞小男生的好哥们外向小男生)

3.GiveFlowersDelegate.h(放有害羞小男生制定的送花协议)

4.main.m(害羞小男生所暗恋的小女生;小女生把故事都看在眼里)


ShyBoy的粉丝们请擦干眼泪,以下是代码编写的主要步骤:

步骤1:制定一个送花的协议,协议中有害羞小男孩想做却做不到的事情——送花。(虽然不自己送花,但害羞小男孩还是要选择花的品种。)(声明协议和协议里的方法。协议里有委托方实现不了的而被委托方实现得了的方法。协议里的方法可以带参数。)


步骤2:害羞小男孩说自己是送花协议的发起者。(委托方声明一个delegate)


步骤3:害羞小男孩所能做的事情是让自己的代理人帮忙送花。害羞小男孩无法真正去送花,但还是能选择花的品种。(委托者调用delegate内的方法)


步骤4:外向小男孩接受送花协议( 被委托者(代理人)设置delegate,以便让委托者调用;)




步骤5:外向小男孩想好怎么送花(被委托者实现Delegate 所定义的方法。)

注:代码编写的步骤不一定要按照1-5.

步骤6:main.m与运行结果。



//delegate常被用于类间的传值。我会继续学习它。


参考文章:

http://leopard168.blog.163.com/blog/static/168471844201307112149221/

代码下载地址:
http://download.csdn.net/detail/ilikeprograming/7372547


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值