美文网首页
一个 Retain Cycle 的坑

一个 Retain Cycle 的坑

作者: 滴滴时光 | 来源:发表于2017-03-04 02:03 被阅读23次

    两次踩了同一个坑,特此记录下

    self.redView = ({
        UIView *view = [DFCustomView new];
        view.backgroundColor = [UIColor redColor];
        [view setOnClickListener:^{
            // 引用 self 导致无法 Controller 无法被释放,这种情况 Xcode 没有警告
        [self instanceMethod];
        }];
        
        view;
    });
    
    DFRedView *redView = [DFRedView new];
    [redView setOnClickListener:^{
        // 要用 weakSelf
        [self foo];
    ];
    self.redView = redView;
    

    局部变量的 block 中引用 self 是没有警告的,尽量都用 weakSelf

    相关文章

      网友评论

          本文标题:一个 Retain Cycle 的坑

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