release 是將內(nèi)存引用計數(shù)-1 nil 直接賦值為0 除非這個指針指向的空間被釋放 否則就是內(nèi)存泄露
nil是表示0x0,可以理解為空指針。release是釋放內(nèi)存。
例如:你開辟了一塊內(nèi)存p=[[nsobject alloc] init]; 這個時候p是指向這塊內(nèi)存區(qū)域的,如果你直接p=nil,會造成這塊內(nèi)存沒有被釋放,內(nèi)存泄露。 如果[p release]釋放了內(nèi)存,但是p還是指向這個內(nèi)存地址,如果在操作p會出現(xiàn)EXC_BAD_ACCESS。正確的做法應(yīng)該是釋放后,把p指向nil
nil是表示0x0,可以理解為空指針。release是釋放內(nèi)存。
例如:你開辟了一塊內(nèi)存p=[[nsobject alloc] init]; 這個時候p是指向這塊內(nèi)存區(qū)域的,如果你直接p=nil,會造成這塊內(nèi)存沒有被釋放,內(nèi)存泄露。 如果[p release]釋放了內(nèi)存,但是p還是指向這個內(nèi)存地址,如果在操作p會出現(xiàn)EXC_BAD_ACCESS。正確的做法應(yīng)該是釋放后,把p指向nil