码迷,mamicode.com
首页 > 其他好文 > 详细

block的基本使用

时间:2016-09-23 19:46:22      阅读:138      评论:0      收藏:0      [点我收藏+]

标签:

block用来保存一段代码

block的标志:^

 

block跟函数很像:

1. 可以保存代码

2. 有返回值

3. 有形参

4. 调用方式一样

 

定义bolock变量

1

void (^myBlock)() = ^{

      NSLog(@“———————“);

};

利用block变量调用block内部的代码

myblock();

2

//  如果block没有形参,可以省略后面的()

int (^sumBlock)(int, int) = ^(int a, int b){  

     return a + b;

};

调用block

int c = sumBlock(10, 11);

或者:

int (^sumBlock)(int, int);

sumBlock = ^(int a, int b) {

      return a + b;

};

3

void (^lineBlock)(int) = ^(int n)

{

       for (int i = 0; i<n; i++) {

            NSLog(@“——————“);

       }

};

调用:

lineBlock(5);

 

 

blocky要掌握的东西

1>  如何定义block变量

int (^sumBlock)(int, int);

void (^myBlock)();

2>  如何利用block封装代码

^(int a, int b) {

    return a - b;

};

 

^() {

    NSLog(@“————“);

};

 

^ {

     NSLog(@“————“);

};

 

3>  block访问外面变量

block内部可以访问外面的变量

默认情况下,block内部不能修改外面的局部变量

给局部变量加上_block关键字,这个局部变量就可以在block内部修改

 

4>  利用typedef定义block类型

typedef int (^MyBlock)(int, int);

以后就可以利用MyBlock这种类型来定义block变量

MyBlock block;

MyBlock b1, b2;

 

b1 = ^(int a, int b) {

     return a - b;

};

 

MyBlock b3 = ^(int a, int b) {

       return a - b;

};

block的基本使用

标签:

原文地址:http://www.cnblogs.com/pengyunjing/p/5901067.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!