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;

  • 相关阅读:
    python 列表、元组、字典总结
    python 字典
    python 元组
    python 列表
    JMeter的作用域与执行顺序
    JMeter第一个实战
    JMeter录制的两种方法
    JMeter常用功能
    初识jmeter2
    handler的拒绝策略:
  • 原文地址:https://www.cnblogs.com/wzl666/p/12792964.html
Copyright © 2011-2022 走看看