例如:UILabel/UIbutton等如何從內存中釋放它們後仍能工作?
UILabel *lblEmail = [[UILabel alloc] initWithFrame:CGRectMake(20, 10, 70, 30)];
[lblEmail setBackgroundColor:[UIColor clearColor]];
[lblEmail setText:@"Email"];
[lblEmail setTag:1];
[contentView addSubview:lblEmail];
[lblEmail release];
在上面的代碼中,我們創建一個的UILabel和釋放,因此沒有內存引用了,但它仍然當我運行的應用程序的作品。我們也可以使用viewWithTag來改變它的值。其他的例子是我創建一個按鈕並釋放它,但仍然在用戶點擊它工作的按鈕時。
是的,我知道這一點保留......但讓我們在我的內容觀點有10個標籤和文本框10登記表的情況下......然後我的內容查看保留計數是21 ...我如何管理這種情況? – Prabh 2011-04-19 15:36:58
你可以通過遵循一個簡單的規則來管理它......如果你負責創建(alloc/init,copy等)或保留一個對象,你有責任釋放。 – MarkPowell 2011-04-19 15:40:13
您的contentView保留計數不是21.如果您添加10個標籤和10個textField,則每個標籤和文本字段的保留計數爲1,並且contentView本身的保留計數爲1(假定應用程序中沒有任何其他保留這些對象)。 – Christian 2011-04-19 16:36:36