Pour une raison quelconque, l'utilisation de loadNibNamed : me laisse avec une fuite de mémoire.
Disons que j'ai les interfaces :
@interface Step : UIViewController
{
IBOutlet UIView *keyPadPopupView;
}
@property (nonatomic, assign) IBOutlet UIView *keyPadPopupView;
En marche :
@synthesize keyPadPopupView;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
if ((self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil]))
{
[[NSBundle mainBundle] loadNibNamed:@"customNumberKeypad" owner:self options:nil];
[self.view addSubview:keyPadPopupView];
[keyPadPopupView release];
}
return self;
}
- (void) dealloc
{
NSLog(@"dealloc........%@", [self class]);
[super dealloc];
}
J'effectue l'init en utilisant :
Step *step = [[Step alloc] initWithNibName:@"StepXib" bundle:nil];
[step release];
Je n'arrive pas à comprendre pourquoi la méthode dealloc n'est jamais appelée. Dans le Xib, le propriétaire du fichier est Step, et le keyPadPopupView est connecté en IB.
Il y a quelque chose que j'ai manqué ?
Merci !