2013-09-02 11 views
13

zawsze jestem coraz EXC_BAD_ACCESS, więc sprawdź, która zmienna jest skierowany do NULL i wszystko co widzę to, że jeden z moich zmiennych (czasami kilka) maW debugerze Xcode lldb, co znaczy <rodzic ma wartość NULL>?

< rodzica jest NULL>

obok niego. Problem polega na tym, że tak naprawdę nie wiem, co to oznacza i nie mogę znaleźć niczego w wyszukiwarce Google ani nic na ten temat. Myślę, że oznacza to, że jest to zmienna NULL, do której próbuję uzyskać dostęp, ale komunikat nie ma większego sensu. Ktoś wie trochę więcej na ten temat?

+0

Czy to jest zmienna klasy Objective-C lub C++? –

Odpowiedz

10

Po prostu oznacza, że ​​zmienna jest wskaźnikiem do obiektu, a wskaźnikiem jest NULL.

Z 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

To jest doskonałe wyjaśnienie. Dzięki! – LunaCodeGirl

1

ja też miałem „rodzic jest NULL” kiedy drukowany opis mojego obiektu tablicy

Dzięki odpowiedź trojanfoe jest, byłem w stanie zobaczyć, że wracałem mój array niepoprawnie. Po prostu zmieniły:

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

do:

- (NSMutableArray *)allItems { 
    return _allItems; 
} 

nadzieję, że to pomaga!