美文网首页
解决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);

    相关文章

      网友评论

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

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