美文网首页
block捕获

block捕获

作者: 寂寞先森666 | 来源:发表于2018-06-02 18:04 被阅读0次

- (void)viewDidLoad {

    [super viewDidLoad];

    auto int a = 5;//自动变量:过作用域就销毁(值传递)

    static int b = 5;//静态变量(指针传递)

    //block会对局部变量进行捕获、全局变量不会捕获

    self.block = ^() {

        NSLog(@"a=%d b=%d",a,b);

    };

    a = 20;

    b = 20;

    self.block();

}

2018-06-02 16:58:57.752234+0800 testaaa[7833:742834] a=5 b=20

#import "person.h"

@implementation person

-(void)log

{

    //默认传入

    //void eat (person * self,SEL _cmd) {

    // }

    //参数是局部变量,依然会被捕获

    void(^block)(void) = ^{

        //self为局部变量

        NSLog(@"%@",self);

        //_name的本质是self->_name

        NSLog(@"%@",_name);

    };

    block();

}

void eat (person * self,SEL _cmd) {

}

@end

相关文章

  • block:block捕获变量

    一、block捕获变量根儿上的东西 1、block会捕获局部变量 2、block不会捕获全局变量二、block捕获...

  • Block变量捕获详解(一)

    什么是Block变量捕获block变量捕获就是在block内部创建一个变量来存放外部变量什么是值捕获block将外...

  • Block 第三次学习 感谢 MJ老师

    block 内部结构 Block block 变量捕获 变量类型捕获到block 内部访问方式局部变量auto(平...

  • block底层原理探究(二):内存管理

    前篇block底层原理探究(一):捕获,我们探究了block捕获外部变量的原理;如果block捕获的是对象类型的a...

  • OC基础-Block(2)

    OC基础-Block(2)Block的变量捕获为了保证block内部能够正常访问外部的变量,block有个变量捕获...

  • 06.4-OC中block捕获对象类型的变量

    block捕获对象类型的变量 前面讲解的block变量捕获,我们讲解了block捕获基本数据类型的情况,下面我们再...

  • Block

    Block Block 可以捕获外部变量 Block 可以捕获来自外部作用域的变量,这是Block一个很强大的特性...

  • OC中的Block(二)

    block的变量捕获(capture) 为了保证block内部能够正常访问外部的变量,block有个变量捕获机制 ...

  • iOS开发-7.Block

    1.block的本质 2.block的变量捕获(capture) 3.auto变量的捕获image 4.block...

  • iOS 如何区分block类型

    如果block没有捕获自动变量,那么就是__NSGlobalBlock__类型; 如果block捕获了自动变量,且...

网友评论

      本文标题:block捕获

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