iOS Delegate学习(送花ABC,一个悲伤的故事)
2014-05-19 06:47
162 查看
在学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
害羞的小男生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
相关文章推荐
- IOS学习之一个示例弄懂代理(delegate)和协议
- IOS学习之一个示例弄懂代理(delegate)和协议
- IOS学习之一个示例弄懂代理(delegate)和协议
- IOS学习之一个示例弄懂代理(delegate)和协议
- ios学习笔记block回调的应用(一个简单的例子)
- IOS学习--画一个边缘渐变颜色的会自动旋转的圆
- iOS学习笔记——随机打乱一个数组
- IOS学习笔记之实现一个简单的表
- Java学习拾遗2--由String str=”abc”引出的故事
- iOS学习笔记----实现一个带有渐变的UIView
- 新做一个Delegate的Demo,仅供新手学习用(二)
- Java学习拾遗2--由String str=”abc”引出的故事(综合了下边的一些指点已更新,感谢在下边留言交流的朋友,谢谢你们的指点!)
- ios basics 0.0:新建一个空模板应用文件,学习empty application 中的源代码作用
- IOS学习之路十七(通过delegate进行页面传值)
- 一个iOS程序员如何学习Python?
- IOS学习:在一个UIViewController中实现侧边菜单的思路及demo
- iOS 5 Storyboard 学习之 Tabbar Controller,Navigation Controller (3) 深入Segue,Class,Protocol,Delegate的基本使用
- 委托delegate的学习.+一个简单的委托和委托链的例子
- 【Java学习笔记】由String str=”abc”引出的故事
- IOS学习:在一个UIViewController中实现侧边菜单的思路及demo