簡體   English   中英

釋放或釋放目標c中的最佳實踐?

[英]dealloc or releasing best practice in objective-c?

我只是簡單地釋放對象:

[myObj release];

我看到其他人補充說:

[myObj release]; myObj = nil;

后者是否更有利,因為現在將永遠不會引用該指針?

只是要確保可能發送給myObj其他連續消息不會引發異常。 在Objective-C中可以將消息發送到nil

否則, myObj仍將指向其到達的內存地址,訪問它可能會導致BAD_ACCESS錯誤。

據我說,這完全取決於myObject的范圍。

  1. 如果myObject范圍以release語句結束,則將其設置為nil沒有任何好處。

  2. 如果myObject范圍未以release語句結尾,則將對象設置為nil可使對象訪問安全。 myObject內存很有可能被釋放,並且您嘗試訪問此內存位置,這將導致異常。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM