美文网首页
Block的使用

Block的使用

作者: 落魄的iOS程序员 | 来源:发表于2021-03-27 22:05 被阅读0次

1、block的定义有三种,无返回值无参数:typedef void(^block) (void);

有返回值无参数:typedef int(^block) (void);

有返回值有参数:typedef int(^block)(int a);

2、在使用block的过程中,__weak typeof(self) weakSelf = self;并不是什么时候都是用,但是使用时没问题的;

3、如果block调用外部变量为局部变量,那么仅仅是值的传递,外部变量的改变不会影响内部,如果过是全局变量或者变量由__blcok修饰,那么内外是一个同一个变量;

4、在UIView的block动画中一般不会造成循环应用,而在GCD的block函数中调用self我们则要考虑循环引用;

5、block的循环引用:如在类A中定义了属性block属性block和string属性name,那么在使用block的时候

 __weak typeof(self) weakSelf = self;这里使用__weak即可解决循环引用问题

    self.block=^{

        NSLog(@"testBlock=%@",weakSelf.name);

    };

 self.block = ^{

        __strong typeof(weakSelf) strongSelf = weakSelf;

        dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(3 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{

            NSLog(@"dispatch_after=%@",strongSelf.name);

        });

    };

相关文章

  • ios block使用

    iOS Block的使用一 .最简单的block使用******使用block的三个步骤:1.定义block变量 ...

  • 白话block

    本文内容 什么是block? block的用途 block的用法 block在使用中遇到的问题 如何使用xcode...

  • iOS Block使用注意

    block本质是两个结构体,使用block使代码简单易读。使用Block注意: 1、block内部使用外部指针,会...

  • iOS Block -浅析 文章

    Block 的使用有两种:1.独立Block 。2.内联Block 。 《一》独立Block 使用方式 一、定义一...

  • OC中的block回顾

    1.block声明 2.block的typedef 2.1 typedef的使用 2.2 声明block类型的使用...

  • Block其实很简单

    Block的几种情况 block的使用 1.使用block实现反向传值 2.利用block写响应式编程的技巧

  • Objective-C 类之间通信

    block的使用 block的定义和使用 变量的作用域及代码的执行顺序 block外部变量的值在block内部具有...

  • Blocks

    使用block修改器 __block

  • iOS开发--当Block、代理、通知遇到女朋友

    什么是Block? 为什么使用Block? 怎么使用Block? 本文将从这三个问题入手来逐渐了解Block。 本...

  • block使用及其底层原理

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

网友评论

      本文标题:Block的使用

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