而在oc中,nil就至關於c、c++中的NULL指針,通常釋放對象後將對象置爲nil很是重要,這樣能夠防止引用非法指針致使程序崩潰掉。 c++
[obj release];//此時obj的引用計數爲0 [obj someMethod];//程序崩潰 [obj release]; obj = nil; [obj someMethod];//obj此時爲nil,但不會崩潰在objective-c中咱們只用nil來檢查程序的邏輯,而不用於判斷對象是否爲空來避免崩潰。這與c++是不一樣。objective-c在運行時會自動處理向nil對象發送消息(調用方法),不會報錯崩潰掉。