iOS delegate机制
2014-08-07 本文已影响680人
杨怀志
自从开始学习iOS以来,一直对Delegate的机制一知半解,今天看到一篇好文章(http://leopard168.blog.163.com/blog/static/168471844201307112149221/),整体的逻辑略微清楚,在此总结一下。
Delegate本质是一种程序设计模型,也能让程序本身更加清楚明了。
iOS中使用Delegate主要用于两个页面之间的数据传递。
比如上图,除了列表A区域与B区域是不同的页面,以下A区域为GraphicView,B区域为TableView。
我们希望用户在A区域点击顶部的按钮时,弹出B区域。用户点击B区域中的不同函数列表项时,B区域消失,A区域展现对应函数的曲线图。
使用Delegate来进行页面之间步骤:
1.用户在点击A区域顶部按钮时,在展现B区域TableView的同时,设定A区域(GraphicView)为B区域(TableView)的Delegate TableView需要传递数值给GraphicView;
2.当前界面为B区域时,B区域需要完成 a.设定@Protocol接口,b.创建一个delegate属性,c.相应TableView列表点击操作,调用Delegate方法;
3.A区域中实现Delegate涉及的具体的方法;