我在常规视图控制器中的- (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
属性不会在方法中的任何位置使用。
我要问的是,在最后一行中作业的目的是什么?
答案 0 :(得分:1)
如果没有该分配,您的控制器将具有不引用标签的属性。该属性可能不会在该方法的其他地方使用(它不应该是,所有配置都在本地引用上完成),但它应该在类的其他地方使用。也许更新文本/ show / hide / something。
标签仍然显示,因为您已将其添加为子视图。超级视图保留其所有子视图,因此标签不会被销毁。