2011-04-08 3 views
0

C'est un peu bizarre mais je ne peux pas appeler n'importe quelle méthode définie dans la classe (avec la méthode drawRect).
C'est ce que je fais dans une classe UIViewController avec pointe pour l'interface utilisateur:Puis-je appeler une méthode dans une classe (sous-classe de UIView) d'une autre classe?

-(void)viewDidLoad { 
    [self.lineVar Start]; 
} 

lineVar est un objet de la classe (qui est une sous-classe de UIView) qui a la fonction de démarrage.

-(void)Start { 
    NSLog(@"Hi..."); 
} 

Je ne vois jamais le message de journal.

J'ai assigné la méthode Class with Start à une vue qui occupe une partie de l'écran avec la classe UIviewcontroller avec le fichier nib.

Je souhaite qu'une méthode soit appelée à chaque fois que la vue (sous-classe de uiview) est visitée.
Il a seulement awakeFromNib qui est appelé juste la première fois. viewdidLoad aurait fait l'affaire mais n'est pas là par défaut.

Merci

Répondre

1

Assurez-vous que self.lineVar n'est pas nul lorsque vous appelez Start. Si cela échoue silencieusement, c'est probablement le problème. Vous avez peut-être oublié de connecter la sortie lineVar dans votre NIB.

+0

Oui self.lineVar est 0x0 ... Mais lineVar n'est pas de type IBOutlet .. Je l'ai déclaré comme DrawView * lineVar; .... Donc je ne suis pas sûr de savoir comment le connecter en NIB – R3D3vil

+0

Déclarez la propriété comme ceci: '@property (non atomic, retain) IBOutlet DrawView * lineVar;'. Ensuite, vous devriez voir la sortie dans le NIB. – cduhn

+0

Merci beaucoup qui fonctionne ... Je ne savais pas que la sortie d'objet doit être connecté dans la NIB ... Merci – R3D3vil

Questions connexes