0
我有uibutton作爲屬性並在dealloc中釋放它。我只是用它來隱藏或取消隱藏,但其使用頻率相當高。下面的代碼中是否有內存泄漏?
@property (retain, nonatomic) IBOutlet UIButton *object;
-(void)onsomebuttonclick
{
object.hidden=true;
}
- (void)dealloc {
[object release];
}
- (void)viewDidUnload
{
[self setObject:nil];
}
因爲它有一個IBOutlet我們可以假設這是一個UIViewController。如果不釋放viewDidLoad中的屬性,它可能會在下次調用viewDidLoad時泄漏。 – deanWombourne
當屬性設置爲新值時,retain屬性告訴它釋放,所以應該沒問題。 –
不建議在'dealloc'中調用setter - 如果另一個對象正在使用KVO觀察該屬性並嘗試使用現在是半分身的對象,該怎麼辦?而且我們不知道自定義制定者是否還有其他副作用。 – deanWombourne