2013-08-31 38 views
0

內未使用的子視圖分配我在一個普通視圖控制器發現此代碼示例,裏面- (void)viewDidLoad方法:仍然不確定的方法

UILabel *label = [[UILabel alloc] init]; 
label.text = @"Left Panel"; 
[label sizeToFit]; 
label.autoresizingMask = UIViewAutoresizingFlexibleRightMargin | UIViewAutoresizingFlexibleLeftMargin | UIViewAutoresizingFlexibleBottomMargin; 
[self.view addSubview:label]; 
self.label = label; 

如果我註釋掉最後一行,self.label = label;,標籤仍然正確顯示出來。該方法的任何地方也不使用self.label屬性。

我在問的是,在最後一行中作業的目的是什麼?

回答

1

沒有這個分配你的控制器有一個屬性沒有引用標籤。該屬性可能不會在該方法的其他地方使用(不應該是,所有配置都在本地引用上完成),但應該在類中的其他位置使用該屬性。也許要更新文本/顯示/隱藏/某物。

該標籤仍然顯示,因爲您已將其添加爲子視圖。超級觀點保留了所有子視圖,因此標籤不會被銷燬。

相關問題