美文网首页
解决block循环引用的三种方式

解决block循环引用的三种方式

作者: 帅帅的mum | 来源:发表于2020-03-10 14:03 被阅读0次

1、 __weak 与__strong 组合 

 __weak typeof(self) weakself = self;

    self.BLOCK= ^{

        __strong typeof(weakself) strongself = weakself;

        NSLog(@"%@",strongself.name);

    };

2、--block与临时变量结合使用

__block OneViewController *vc = self;

    self.BLOCK= ^{

        NSLog(@"%@",vc.name);

        vc=nil;

    };

3、把self当作block的参数传递过去

self.BLOCK = ^(OneViewController *vc){

        NSLog(@"%@",vc.name);

    };

    self.BLOCK(self);

相关文章

  • swift闭包的循环引用

    类似于OC的block,swift闭包中也存在循环引用的问题,通常解决闭包中循环引用的方式有以下三种(1)方式一:...

  • block用法大全

    block语句块 如何解决block循环引用 高逼格理解block循环引用 block相关

  • block分析

    本文主要介绍block的类型、循环引用的解决方法以及block底层的分析 block 类型 block主要有三种类...

  • iOS-底层原理:Block

    这里主要介绍block的类型、循环引用的解决方法以及block底层的分析 block 类型 block主要有三种类...

  • iOS Block底层原理

    本文主要介绍block的类型、循环引用的解决方法以及block底层的分析 block 类型 block主要有三种类...

  • Block经典问题循环引用&解决

    Block内存关系Block经典问题循环引用&解决Block底层分析Block底层HooK 1.循环引用怎么产生的...

  • ios学记0016-循环引用问题的解决方法

    Block,NSTimer循环引用问题的解决方法 摘要:NSTimer, Block, 循环引用, 内存泄漏 注:...

  • Block及循环引用

    解决block的循环引用有两种方式: 1,通过设置__weak,可以将self指针弱引用,达到解除循环引用的作用 ...

  • Block循环引用的三种解决方式

    今天 抽空看了下 *Objective-C高级编程iOS与OSX多线程和内存管理*,发现自己之前所理解的为什么bl...

  • 解决block循环引用的三种方式

    1、__weak 与__strong 组合 __weak typeof(self) weakself = self...

网友评论

      本文标题:解决block循环引用的三种方式

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