zoukankan      html  css  js  c++  java
  • block不需要__weak的几种情况

    1、UIView 的 animation动画块使用了Block,内部使用self不会循环引用,为什么呢

    答:UIView 动画块是类方法,不被self持有,所以不会循环引用。

    2、Monsary也使用了Block来设置控件的布局,Block内部使用self,为什么不会循环引用呢

    答:看源码可以看出,Monsary使用的Block是当做参数传递的,即便block内部持有self,设置布局的view持有block,但是block不持有view,当block执行完后就释放了,self的引用计数-1,所以block也不会持有self,所以不会导致循环引用。

    3、reactiveCocoa如果不使用@weakify @strongify,会循环引用,两个宏就等于下边代码:

    __weak typeof(self) weakSelf = self;

    __strong typeof(weakSelf) strongSelf = weakSelf;

  • 相关阅读:
    UDP
    TCP
    python基础之socket编程
    单列模式
    元类
    issubclass()和isinstance()
    手持机设备公司(WINCE/ANDROID/LINUX)
    Android Hal 分析
    Android JNI 使用的数据结构JNINativeMethod详解
    MTK GPIO 一些理解
  • 原文地址:https://www.cnblogs.com/wzl666/p/12792964.html
Copyright © 2011-2022 走看看