cover-img
avatar

托码特人

分享科技与人文

一个关注互联网的技术博客

iOS属性最佳实践

一、关于 objective-C 的属性,常见的有:strong、weak、copy、assign

  1. 对于基本数据类型,当然使用 assigin;
  2. 对于 mutable 的,一定要使用 strong。父控件 UI 元素也使用 strong;
  3. 子控件元素使用 weak;
  4. 不可变的类型,使用 copy。(NSString,NSArray,NSDictonary 这些一定要用 copy)对于 mutable 的对象,如果是 mutable 的却定义属性为 copy,则往里面加值时可能引起程序崩溃。而对于不可变的使用了 strong,则可能引起值改变,这就违背了内存管理语义

二、关于 getter

if (_messageTipNumber > 0) {
       self.tipCountLable.frame = CGRectMake(150, (self.frame.size.height - 14)/2, 14, 14);
       self.tipCountLable.layer.cornerRadius = _tipCountLable.frame.size.width/2;
       self.tipCountLable.text = [NSString stringWithFormat:@"%d",_messageTipNumber];
       [self.contentView addSubview:_tipCountLable];
}
赞赏

声明: 本文内容由托码斯创作整理,由于知识水平和时效性问题,行文可能存在差错,欢迎留言交流。读者若需转载,请保留出处,谢谢!