|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre habitué
![]() Inscription : juin 2002 Messages : 387 ![]() |
Bonjour,
dans une classe j'ai un delegate definis comme ceci : Code :
-(id) initWithDelegate ... delegateCriteriaChange = delegate; ... } delegateCriteriaChange n'est pas nul , mais plus bas dans la fonction viewDidLoad, delegateCriteriaChange devient NULL : Code :
|
||||
|
|
00
|
|
|
#2 |
![]() ![]() Expert iOS Inscription : juin 2005 Messages : 213 ![]() |
Comment crée-tu l'objet delegate que tu passes en paramètre de ta méthode initWithDelegate ?
Il est peut-être autorelease ou appartient à un objet que tu détruis par la suite. Son retainCount doit rester > 0 mais il ne doit pas être retain par l'objet dont il est le délégué. |
|
01
|
|
|
#3 |
|
Expert Confirmé
![]() Inscription : septembre 2006 Messages : 2 375 ![]() |
Plus que probablement 2 instances de CriteriaViewController sont créées :
faites un NSLog de self dans initWithDelegate et viewDidLoad pour vous en convaincre. |
|
|
10
|
|
|
#4 |
|
Membre habitué
![]() Inscription : juin 2002 Messages : 387 ![]() |
@chiv :
Code :
underC = [[CriteriaViewController alloc] initWithDelegate:self andFrame:CGRectMake(15, 0, self.view.frame.size.width, self.view.frame.size.height)]; @ JeitEmgie : les 2 traces dans chacune des fonctions donnent les même logs. J'ai initialisé mon deuxième contrôleur dans viewWillAppear et non dans viewDidLoad pour avoir le delegué mais cela ne resoud pas mon probleme : la table view de mon second controlleur n'est toujours pas affiché , la fonction cellForRowAtIndexPath ou numberOfRowsInSection n'est pas appelé. |
|
|
00
|
|
|
#5 |
|
Expert Confirmé
![]() Inscription : septembre 2006 Messages : 2 375 ![]() |
|
|
|
00
|
|
|
#6 | ||||
|
Membre habitué
![]() Inscription : juin 2002 Messages : 387 ![]() |
Code :
Code :
|
||||
|
|
00
|
Copyright © 2000-2013 - www.developpez.com