2016-12-30 1 views
-3

J'ai une vue, et je veux l'enlever dans une situation particulière.0x0000000000000000 dans iOS?

if (self.superview) { 

    [self removeFromSuperview]; // breakpoint point here 
} 

Je lldb il:

(lldb) po self.superview 
0x0000000000000000 

Comment juger le superview égal à 0x0000000000000000?

+0

Cela signifie qu'il est alloué et n'est pas nul. – iYoung

+0

@iYoung Comment ajouter jusqu 'à la superview égale à 0x0000000000000000? – aircraft

+0

Veuillez poster un peu plus de code pour voir ce que 'self' est. – shallowThought

Répondre

1

Il est possible d'envoyer removeFromSuperview en toute sécurité, même si la vue n'apparaît pas dans une vue d'ensemble. Si la vue n'est pas dans une vue d'ensemble, le message n'aura aucun effet. Il n'est donc pas nécessaire de tester self.superview.

Lorsque self.superview s'imprime 0x0000000000000000, cela signifie que nil, ce qui signifie que self n'est pas dans une vue d'ensemble.

+0

mais mon code crash à cette ligne. – aircraft

+0

je po self.superview.it Voir 0x000000 – aircraft