首頁  >  問答  >  主體

ios - ARC下在dealloc中将对象置空,这个做法必要吗?

ARC下在dealloc中将对象置空,这个做法必要吗?重写dealloc,并且将类的property置未空,这个做法有用吗?

PHP中文网PHP中文网2741 天前275

全部回覆(2)我來回復

  • ringa_lee

    ringa_lee2017-04-18 09:20:06

    沒有必要,需要在 dealloc 裡把屬性置空(或 release)的是 MRC。自動引用計數中自動的意思就是不用程式設計師手動的來做這件事了。你可以做個測試,比如說類A 有個屬性b 是類B, 然後在A,B 的dealloc 裡都打個斷點看看,被釋放的時候都會被釋放的,除非別的地方還有引用,或者形成了循環引用之類的。

    建議你唸一下文件裡記憶體管理的部分:https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/MemoryMgmt/Articles/MemoryMgmt.html

    回覆
    0
  • 阿神

    阿神2017-04-18 09:20:06

    在dealloc方法裡,應該做的就是釋放指向其他物件的引用,並取消原來訂閱的KVO或NSNotificationCenter等通知,不要做其他事情

    回覆
    0
  • 取消回覆