美文网首页
初学block(二)

初学block(二)

作者: 贼海鸥 | 来源:发表于2017-07-13 10:19 被阅读0次

我已经讲过了怎么声明block了.比如用typedef

typedef int (^myBlock)(int);

调用

myBlock block = ^(int a){
     return 20;
};
block(10);

下面开始讲一些其他的用法

  • 1.block作为参数使用
    • 1.首先声明一个block
typedef void (^myBlock)(int , int);
- 2.block作为方法的参数
-(void)text:(myBlock)myBlock {
    myBlock(2 , 3);
}
- 3.调用方法
[self text:^(int a,int b) {
     NSLog(@"----%d" , a + b);
}];
  • 2.你如果在外界定义了一个变量,想在block里面使用,比如修改等之类的操作,那么需要用一个关键字来修饰,那个关键字是__block.如果不加__block关键字,那么,那个变量就只能读取,不能修改
__block int sum;
[self text:^int(int a,int b) {
    sum = a + b;
    NSLog(@"%d" , sum);
    return sum;
}];

相关文章

  • 初学block(二)

    我已经讲过了怎么声明block了.比如用typedef 调用 下面开始讲一些其他的用法 1.block作为参数使用...

  • 初学Block

    一、简单Block的声明和实现 - (void)viewDidLoad { [super viewDidloa...

  • 初学block(一)

    block语法:返回值类型 (^block名称)(参数名1 参数,参数名2 参数, ...) = ^(参数名1 参...

  • Day.03.11 Block关于TextField的互相传值应

    Block的基本运用, 适用于初学ViewController.m secondViewController.h...

  • Block

    一、Block本质 二、 BlocK截获变量 三、__block 修饰变量 四、Block内存管理 五、Block...

  • ios学记0003-Block与类通信问题

    前言 在Block初学的基础上,更深一步的学习Block用于class之间的通信问题.要知道,在较小的工程中,程序...

  • iOS Block

    ​ 前言:Block在iOS开发中举足轻重,但对于初学者来说又比较抽象,使用注意点也比较多。本文先介绍Block...

  • 关于block--你想了解的几乎都在这里了

    一.block定义二.block的本质三.block变量捕获(Capture)四.block的类型五.block的...

  • Block(二)__block

    一、__block修饰基本数据类型的局部变量 1、被__block修饰的局部变量可以在Block内部修改,__bl...

  • block使用及其底层原理

    一 block基本使用 二 block底层结构 三 block变量捕获 四 block的类型 五 block对象类...

网友评论

      本文标题:初学block(二)

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