UIButton *btn=[[UIButton alloc] init];
UIButton *btn=[UIButton buttonWithType:UIButtonTypeRoundedRect];
的是這兩個聲明或都具有相同的區別?
UIButton *btn=[[UIButton alloc] init];
UIButton *btn=[UIButton buttonWithType:UIButtonTypeRoundedRect];
的是這兩個聲明或都具有相同的區別?
[UIButton buttonWithType:...]
創建自動釋放對象(其仍需要存儲器)。
[[UIButton alloc]init]
創建一個不會被自動發佈的對象。你必須自己釋放!
進一步瞭解此question。
更多關於memory management。
一人給你一個不UIButtonTypeCustom
第二種的buttonType
自動釋放UIButton
給你一個自動釋放UIButton
有UIButtonTypeRoundedRect
的buttonType
第一個將一個UIButton
對象分配給btn
。當你完成之後,你有責任釋放它,因爲你在內存中添加了內存。
第二個將執行相同的操作,但該對象將被自動釋放,這意味着您不必明確呼叫release
,因爲操作系統將在必要時執行該操作。
注:UIButtonType
也不同。