![cover-img](/images/cover-day.webp)
![avatar](/images/avatar.webp)
托码特人
用代码摇滚这个世界
一个关注科技与人文的技术博客
一、关于objective-C的属性,常见的有:strong、weak、copy、assign
- 对于基本数据类型,当然使用assigin;
- 对于mutable的,一定要使用strong。父控件UI元素也使用strong;
- 子控件元素使用weak;
- 不可变的类型,使用copy。(NSString,NSArray,NSDictonary这些一定要用copy)对于mutable的对象,如果是mutable的却定义属性为copy,则往里面加值时可能引起程序崩溃。而对于不可变的使用了strong,则可能引起值改变,这就违背了内存管理语义
二、关于getter
![](/img/2018/15280142068491.jpg)
![](/img/2018/15280142123608.jpg)
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];
}
请注意: 本文所述内容及观点仅代表个人看法,由于知识水平有限,行文难免出现差错,欢迎留言交流。谢谢!