iOS delegate机制

自从开始学习iOS以来,一直对Delegate的机制一知半解,今天看到一篇好文章(http://leopard168.blog.163.com/blog/static/168471844201307112149221/),整体的逻辑略微清楚,在此总结一下。

Delegate本质是一种程序设计模型,也能让程序本身更加清楚明了。

iOS中使用Delegate主要用于两个页面之间的数据传递。

iOS delegate机制_第1张图片

比如上图,除了列表A区域与B区域是不同的页面,以下A区域为GraphicView,B区域为TableView。

我们希望用户在A区域点击顶部的按钮时,弹出B区域。用户点击B区域中的不同函数列表项时,B区域消失,A区域展现对应函数的曲线图。

使用Delegate来进行页面之间步骤:

1.用户在点击A区域顶部按钮时,在展现B区域TableView的同时,设定A区域(GraphicView)为B区域(TableView)的Delegate      TableView需要传递数值给GraphicView;

iOS delegate机制_第2张图片

2.当前界面为B区域时,B区域需要完成 a.设定@Protocol接口,b.创建一个delegate属性,c.相应TableView列表点击操作,调用Delegate方法;

iOS delegate机制_第3张图片
iOS delegate机制_第4张图片
iOS delegate机制_第5张图片

3.A区域中实现Delegate涉及的具体的方法;

iOS delegate机制_第6张图片

你可能感兴趣的:(iOS delegate机制)