2009-09-11 11 views
0

J'ai créé un UIView et une sortie UILabel pour le XIB. Dans le premier chargement est bien alors j'exécute le removeFromSuperview pour supprimer ce UIView et appelez à nouveau l'addsub pour montrer à nouveau ce UIView. Mais quand j'ai essayé d'accéder à nouveau à UILabel comme la méthode setText, l'application va planter. Pensez-vous que c'est à propos de removeFromSuperview?Accès à l'objet UILabel crash

Merci sasayins

Répondre

1

removeFromSuperview libère UIView. Si le retainCount de l'UIView atteint zéro, alors il est libéré et libère les enfants de l'UIView. Si UILabel est sur UIView, il est également libéré. L'UIView doit être rechargé avant d'appeler addView. Vous devez le charger manuellement.

Essayez d'appeler

[[NSBundle mainBundle] loadNibNamed:@"name of your XIB file" owner:self options:nil]; 

avant d'appeler addView. Vous devriez également être en mesure de définir UILabel, avant ou après addView, si vous appelez loadNibNamed.

Bien sûr, votre problème pourrait être autre chose, surtout si votre UIView est conservé. Essayez d'exécuter le débogueur Xcode et passez le code en revue.

+0

Oui, mon UIView est conservé dans @property. Et j'ai tracé le crash quand j'ai appelé le setText de IBOutlet UILabel. Et c'est bizarre que l'IBOutlet UILabel ne soit pas nul. Merci – domlao