天天看點

何時用self引用會加1,[UIImage imageNamed]使用

代碼粘的多了點,看着清楚一點

SetupAccountViewController.h檔案,聲明m_comBoxView,線程不安全,retain(self調用引用+1)

接下來看看m檔案

[color=red]self.m_comBoxView = comBoxView;[/color]

這一句比較重要,就是說隻有self調用指派,這個時候引用技術才會+1

m_comBoxView.backgroundColor = [UIColor clearColor];改成

self.m_comBoxView.backgroundColor = [UIColor clearColor];作用相同,也不會影響引用計數,因為這裡是調用屬性。

[color=red]下面這個還沒有遇到過,但是有朋友說,是以記錄一下!大家都注意[/color]

myImage = [UIImage imageNamed:@"icon.png"];

這種方法在application bundle的頂層檔案夾尋找由供應的名字的圖象 。 如果找到圖檔,裝載到iPhone系統緩存圖象。那意味圖檔是(理論上)放在記憶體裡作為cache的。

是以使用小圖或者少量圖是可以的,大量圖則該選用

NSString *path = [[NSBundle mainBundle] pathForResource:@"icon" ofType:@"png"];

myImage = [UIImage imageWithContentsOfFile:path];

不過這種方法要注意了,如果有高清圖,也就是@2x的,就不能自動擷取到了,自己把握吧,做ui可以用imageNamed,要處理的大圖就别這樣加載了