一些控制項作為屬性使用weak修飾的時候:
@inte***ce zxqtableviewcell ()
@property (nonatomic, weak) uiimageview *icon;
@property (nonatomic, weak) uilabel *name;
@property (nonatomic, weak) uiimageview *vipimg;
@property (nonatomic, weak) uilabel *text;
@property (nonatomic, weak) uiimageview *picture;
@property (nonatomic, retain) nsmutablearray *array;
@end
如果直接拿來使用:
_icon = [[uiimageview alloc] initwithframe:cgrectmake(5, 5, 50, 50)];
[self.contentview addsubview:_icon];
這樣是沒有作用的。
原因是weak修飾的icon會在alloc、init之後立馬釋放掉(這與arc有關)
所以解決辦法是:
uiimageview *icon = [[uiimageview alloc] initwithframe:cgrectmake(5, 5, 50, 50)];
[self.contentview addsubview:icon];
self.icon = icon;
iOS strong 與weak何時使用
如果乙個物件在某段時間中反覆載入,而你又不希望每次載入都要重新alloc 的話,那就strong,strong 保證對此物件保持乙個強引用,對於這個物件,只要有1個strong引用的話,那它就不會釋放,當然多個strong同時作用於它也不會釋放。如果乙個物件在某段時間只會載入一次,並且載入之後確定不...
swift unowned和weak的使用
通常的解釋是,考慮到物件的生命週期,您應該在unowned和weak之間進行選擇,但有時您可能仍然懷疑應該實際使用哪乙個,並且想知道unowned和weak哪乙個更好。眾所周知,swift利用良好的舊arc 自動引用計數 來管理記憶體,因此,正如我們習慣使用objective c一樣,我們必須通過明...
iOS 弱引用weak的使用
oc開發過程中,我們經常會使用到弱引用和強引用 我們為什麼要使用弱引用呢?要想知道這個我們需要weak的原理。原理 runtime維護了乙個weak表,其實weak是乙個hash 雜湊 表,其中key表示指向物件的指標,value是乙個陣列,裡面儲存的weak指標的位址陣列,當我們使用 weak的時...