代理和block传值

作者: Rayla_周周 | 来源:发表于2016-06-19 17:52 被阅读0次

 我对代理的理解就是:有些事情的原因你最清楚,就像苹果的UITableViewDelegate UITableViewDataSource两个代理,苹果知道表视图是怎么滚动的,滚动的速度,方向,要怎么展示,可是它不知道要展示什么数据,要怎么展示,这些相关的逻辑和数据,都需要开发者定义,因此它定义了两个代理属性,有相应的代理方法,开发者只需将对应的参数传递给他就可以。

       再举一个简单的例子,就像小孩和保姆的关系,只有小孩知道自己是不是饿了,要吃什么,而保姆只是有照顾小孩的功能的一类代表。当小孩饿的时候,baby会告诉能照顾自己的这类人,我饿了,要吃饭。而保姆就可以做相应的工作。

定义代理的几个步骤:

     1> 创建代理,添加代理方法

    2> 添加代理属性

3> 在需要的时候调用,例如在点击自定义的UITableViewCell中的button需要刷新列

      表,即可在button点击事件中调用代理对象的代理方法

4> 在代理类中,成为代理对象,遵守代理协议

5> 实现代理方法

Block

block传值和代理的用法相似,只是少了创建代理,添加代理方法,称为代理对象,遵守代理协议这些步骤。

它的具体步骤如下:

  1> 创建block,添加block属性

2> 在需要的地方调用block

3> 在实现的地方使用block

如果

相关文章

网友评论

    本文标题:代理和block传值

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