zoukankan      html  css  js  c++  java
  • 在block函数中规避错误信息 "capturing self strongly in this block is likely to lead to a retain cycle”

    以形如

           _fontValueChangedBlock = ^(){
                [self.fontSmallButton addTarget:self action:@selector(btnFontSmallClicked) forControlEvents:UIControlEventTouchUpInside];
            };

    的代码为例,这个代码运行会报警告。"capturing self strongly in this block is likely to lead to a retain cycle” 

    要想消除这个警告,需要将代码改为如下形式:

            __weak typeof(self) weakSelf = self;
            
            _fontValueChangedBlock = ^(){
                typeof(weakSelf) __strong strongSelf = weakSelf;
                [strongSelf.fontSmallButton addTarget:strongSelf action:@selector(btnFontSmallClicked) forControlEvents:UIControlEventTouchUpInside];
            };

    参考 http://stackoverflow.com/questions/16067712/avoiding-the-capturing-self-strongly-in-this-block-is-likely-to-lead-to-a-retai

  • 相关阅读:
    防抖函数
    video.js汉化
    vscode 设置
    webpack配置
    寄生组合继承
    数组排序
    操作节点的方法
    vscde软件
    vue目录详解
    前端
  • 原文地址:https://www.cnblogs.com/guozai9527/p/4022137.html
Copyright © 2011-2022 走看看