前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >iOS 开发之Block

iOS 开发之Block

作者头像
Mr.RisingSun
发布2018-01-09 16:51:18
7580
发布2018-01-09 16:51:18
举报
文章被收录于专栏:移动端开发移动端开发

iOS 开发之Block

一:什么是Block。Block的作用

     UI开发和网络常见功能的实现回调,按钮事件的处理方法是回调方法。

    1.     按钮事件 target action 机制。 它是将一个方法传入到一个按钮中

    2.     试图表格,它里面有很多的事件机制 它是将一个self指针传入,实现回调机制中得方法。

    3.     Block  解决回调,理解为C语言中得函数,定义方法在里面

二:Block的基本使用

   1. 定义Block变量

   在这里只是简单的定义了带两个整形参数的Block变量

代码语言:javascript
复制
int  (^add) (int x,int y)

   2. 定义Block语句块

   这是一个简单的代码块语句,在代码块语句的前面一定要加^符号

代码语言:javascript
复制
^int (int x,int y)
    {
        return x+y;
    };

   其实如果仔细看的话,在代码块的前面不加^符号的话,它很像C语言中的函数。

   我们把代码块语句用一个代码块变量来接收了写成下面的格式

代码语言:javascript
复制
add=^int (int x,int y)
    {
        return x+y;
    };

   左后既然你创建了函数的话,你想实现它的话就得调用函数,有参数的就得传参数进去。

代码语言:javascript
复制
NSLog(@"%d", add(3,4));

   这样我们就实现了简单的一个两数之和的计算

  三:  Block在开发中的应用

          block变量的反向界面传值

          首先一点就是,代码块的传递是通过方法进行的,所以在进行反向的界面传值的时候,你的把它写到方法里面传过去。

如果你了解反向传值的话,以前是通过代理来传值的。

           我们把用Block变量反向传值和代理反向传值的过程做一个大概的比较,你就知道它的方便和好的地方了。

           代理的大概过程;

           1.    在第二个界面创建协议,代理。

           2.    第一个界面遵守协议,遵守了代理的话就得实现它里面的方法

           3.    实现协议的方法

           4.    在第一界面里面在你要跳转到第二界面的地方指定代理者。

           5.    最后你的在第二个界面去调用代理

           Block变量的大概过程;

           1.    在第二个界面里面写一个方法,把你要传递的值通过代码块的形式,写到方法的形参中去。

           2.    在第一个界面跳到第二个界面时候,你创建了第二个界面的时候你就可以用你创建的第二个界面去调用你写的那个方法。

    其实你一调用就已经把值传过来了,你就可以使用它了。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2015-04-07 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • iOS 开发之Block
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档