weak/strong创建控件的区别
weak/atrong主要是为了避免循环强引用 比如父类中含有子类{父类retain了子类},子类中又调用了父类{子类又retain了父类},这样都无法release
一般来说用weak会比较好,但是大多情况下strong也没问题。这个主要取决于这个View是否将引用它的对象强引用了。当然这种情况还是比较少的。
weak情况
1
2
3
4
|
@property
(weak,
nonatomic
) UILabel *nameLabel;
UILabel *nameLabel = [[UILabel alloc] init];
self
.nameLabel = nameLabel;
|
strong情况
1
2
3
4
5
6
7
8
9
|
@property
(strong,
nonatomic
) UILabel *timeLabel;
- (UILabel *)timeLabel
{
if
(!_timeLabel) {
_timeLabel = [[UILabel alloc] init];
}
return
_timeLabel;
}
|