关于[super dealloc]
生活随笔
收集整理的這篇文章主要介紹了
关于[super dealloc]
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? ? ? 銷毀一個對象時,需要重寫系統的dealloc方法來釋放當前類所擁有的對象,在dealloc方法中需要先釋放當前類中所有的對象,然后再調用[super dealloc]釋放父類中所擁有的對象。如先調用[super dealloc]將釋放掉父類中所擁有的對象,當前類中所擁有的對象將得不得到釋放,這樣就會造成內存泄露。? ? ??
------錯誤的寫法--------- (void)dealloc
{
????[super?dealloc];
????[XX release];
????......
}
-------正確的寫法--------
- (void)dealloc
{
????[XX release];
????[super?dealloc];
????......
}
?
? ? ? 所創建的都是繼承自根類的,有時會根據需要繼承一個父類,這樣父類中的實例變量也會繼承過來,這部分實例變量可能會在該類中使用,它們不會自動釋放內存,需要調用父類的dealloc方法來釋放其擁有的對象,然而在此之前,你需要先將當前類中擁有對象所占用的內存釋放掉,否則會造成泄漏。
?
?
轉載于:https://www.cnblogs.com/JoelZeng/p/3594903.html
總結
以上是生活随笔為你收集整理的关于[super dealloc]的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MS SQL 2008 发布订阅配置错误
- 下一篇: 如何配置一个Oracle服务