2013-09-02 8 views
13

sto ottenendo sempre EXC_BAD_ACCESS, così io guardo per vedere quale variabile punta a NULL e tutto quello che vedo è che una delle mie variabili (a volte diverse) haNel debugger lldb di Xcode, cosa significa <parent è NULL> significa?

< genitore è NULL>

accanto ad esso. Il problema è che non so davvero cosa significhi e non riesco a trovare nulla da una ricerca su google o qualcosa in proposito. Penso che questo significhi che sia la variabile NULL a cui sto tentando di accedere, ma il messaggio non ha molto senso. Qualcuno sa qualcosa in più su questo?

+0

Questa classe variabile Objective-C o classe C++ o struct? –

risposta

10

Significa semplicemente che la variabile è un puntatore a un oggetto e il puntatore è NULL.

Dal LLDB source:

if (addr == LLDB_INVALID_ADDRESS) 
{ 
    m_error.SetErrorString ("parent address is invalid."); 
} 
else if (addr == 0) 
{ 
    m_error.SetErrorString ("parent is NULL"); 
} 
else 
... 
+3

Questa è una spiegazione perfetta. Grazie! – LunaCodeGirl

1

Anch'io ho avuto "genitore è NULL" quando ho stampato descrizione del mio oggetto array

Grazie alla risposta di trojanfoe, ho potuto vedere che stavo tornando mia array in modo errato. Ho semplicemente cambiato:

- (NSMutableArray *)allItems { 
    return self.allItems; 
} 

a:

- (NSMutableArray *)allItems { 
    return _allItems; 
} 

Spero che questo aiuti!