08-04、僵尸對象、野指針、空指針

Snip20170925_44.png
Xcode中給當(dāng)前項目設(shè)置監(jiān)聽僵尸對象報的錯
Snip20170925_46.png
Xcode中設(shè)置全局?jǐn)帱c,可以讓程序停留在報錯的那行代碼
Snip20170925_47.png
杠杠func杠杠的使用
Snip20170925_49.png
#import <Foundation/Foundation.h>
#import "Person.h"

int main(int argc, const char * argv[]) {

@autoreleasepool {
    Person *p = [[Person alloc] init]; // 1
    
    // 只要一個對象被釋放了, 我們就稱這個對象為 "僵尸對象"
    // 當(dāng)一個指針指向一個僵尸對象, 我們就稱這個指針為野指針
    // 只要給一個野指針發(fā)送消息就會報錯
    [p release]; // 1-1 = 0
    // *** -[Person release]: message sent to deallocated instance 0x1001146b0

    // 空指針  nil  0
    // 為了避免給野指針發(fā)送消息會報錯, 一般情況下, 當(dāng)一個對象被釋放后我們會將這個對象的指針設(shè)置為空指針
    // 因為在OC中給空指針發(fā)送消息是不會報錯的
//        p = nil;
    
    [p release];
    [p release];
    [p release];
    [p release];
    [p release];
    [p release];
    [p release];
    
    
}
    return 0;
  }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 【轉(zhuǎn)載】曾夢想仗劍走天涯 1.Xcode IDE概覽 說明:從左到右,依次是“導(dǎo)航窗格(Navigator)->邊...
    06a6a973d7ab閱讀 3,901評論 2 20
  • 1.Xcode IDE概覽 說明:從左到右,依次是“導(dǎo)航窗格(Navigator)->邊列(Gutter)->焦點...
    小地閱讀 5,387評論 0 9
  • 一些基礎(chǔ)的知識,經(jīng)常混淆,特整理下 空指針: 1. 沒有存儲任何內(nèi)存地址的指針就稱為空指針(NULL指針)。 2....
    劉應(yīng)閱讀 5,742評論 4 20
  • 發(fā)現(xiàn) 關(guān)注 消息 iOS 第三方庫、插件、知名博客總結(jié) 作者大灰狼的小綿羊哥哥關(guān)注 2017.06.26 09:4...
    肇東周閱讀 12,251評論 4 61
  • 經(jīng)過週末的修整,又迎來了新的一周,今天又是週一,開始上班了又得早起。雖然週末睡了很多覺,想著這下休息好了,下周肯定...
    靜心_安心閱讀 181評論 0 1