歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> iOS開發中nil和release的用法

iOS開發中nil和release的用法

日期:2017/3/1 10:37:26   编辑:Linux編程

先簡單解釋一下 nil 和 release 的作用: nil 就是把一個對象的指針置為空,只是切斷了指針與內存中對象的聯系;而 release 才是真正通知內存釋放這個對象。所以 nil 並沒有釋放內存,只有 release 才回真正釋放內存。

再分析一下二者使用的先後順序:如果沒有 release 就直接 nil ,那麼雖然不會出錯,卻等於自己制造內存洩漏了,因為 nil 之後 release 就已經不起作用了。 相反,如果在使用接口對象時只僅僅 release 沒有設置 self.myOutlet =

nil ,那麼程序可能也不會報錯,但卻會十分不穩定、不健壯,很容易發生崩潰現象。因為一個接口對象在 release 之後,給它所分配等內存就已經被釋放了,如果釋放之後系統再用到這個對象,那麼程序就會 crash 。如果釋放之後把它的指針置為空,則即便後面的程序用到該對象,也不會崩潰。

所以在使用 nil 和 release 的時候一定要慎重哦!

Copyright © Linux教程網 All Rights Reserved