先簡單解釋一下nil和release的作用:nil就是把一個對象的指針置為空,只是切斷了指針與內存中對象的聯系;而release才是真正通知內存釋放這個對象。所以nil並沒有釋放內存,只有release才回真正釋放內存。
再分析一下二者使用的先后順序:如果沒有release就直接nil,那么雖然不會出錯,卻等於自己制造內存泄漏了,因為nil之后release就已經不起作用了。相反,如果在使用接口對象時只僅僅release沒有設置self.myOutlet =
nil,那么程序可能也不會報錯,但卻會十分不穩定、不健壯,很容易發生崩潰現象。因為一個接口對象在release之后,給它所分配等內存就已經被釋放了,如果釋放之后系統再用到這個對象,那么程序就會crash。如果釋放之后把它的指針置為空,則即便后面的程序用到該對象,也不會崩潰。
所以在使用nil和release的時候一定要慎重哦!