如果我有一個在Interface Builder中內置的子視圖,並且我想給它一個實際名稱,我認爲唯一的方法是在我的視圖控制器中創建一個UIView實例變量,然後做這樣的事情:內存問題:取得子視圖的所有權
- (void)viewDidLoad
{
[super viewDidLoad];
self.moveView=[self.view.subviews objectAtIndex:0];
self.moveView.backgroundColor=[UIColor redColor];
}
在這樣做,現在我可以這樣子視圖使用傳統的名字,工作「moveView」,而不是由視圖層次結構中的索引號處理相關問題。
這是做這樣的事情的好方法(實際上使用自定義視圖類之外)?
這也許是更容易,不需要你找出索引號的另一種方式似乎只是創造一個UIView @property IBOutlet中和將其賦值給界面生成器和這樣做:
@property (nonatomic, retain) IBOutlet UIView * sensitivity;
在
@接口。但是,我想知道這個@property的「保留」質量是否意味着我的UIView基本上佔用了內存的兩倍,因爲Interface Builder UIView也不會將它存儲在內存中嗎?或者將它掛在IB使這些都是一樣的,只有一個實際的UIView實例?