美文网首页
UI控件什么时候使用Weak和Strong

UI控件什么时候使用Weak和Strong

作者: 加盐白咖啡 | 来源:发表于2019-06-21 23:45 被阅读0次

UI控件使用weak还是Strong

XIB OR StoryBoard创建控件时

  • 使用 Xib 或者 StoryBoard 的时候使用weak修饰控件,是因为当控件拖到控制器中时,控制器对控件就有了一个强引用.如果此时对属性控件使用Strong修饰就会使该控件的引用计数器变为2,当控制器释放的时候,控件依旧可以被释放,不会产生内存泄漏问题.
  • weak的底层实现
 weak(可以替换strong) 本质是让_car指针变为一个弱指针(循环引用才会使用!)
  -(void)setCar:(LWCar*)car{
   __weak _car = car;//弱指针
  }

纯代码创建控件时

  • 使用纯代码的时候使用Strong,Strong的本质只是赋值(ARC)
  • Strong的底层实现
 -(void)setCar:(LWCar*)car{
       _car = car;
  }
 @property(nonatomic,strong)UILabel *label;
    UILabel *label = [[UILabel alloc] init];
    self.label = label;
    [self.view addSubview: label]

相关文章

网友评论

      本文标题:UI控件什么时候使用Weak和Strong

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