J'utilise une recette standard pour présenter ModalViewControllers dans mes applications iPhone, mais j'ai rencontré une situation où la recette est cassée et je suis confus. Voilà comment je (à peu près toujours) mis en place la présentation:EXEC_BAD_ACCESS lors de la suppression de ModalViewController
MatcherViewController *controller = [[MatcherViewController alloc] initWithNibName:@"MatcherView" bundle:nil];
[controller setModalTransitionStyle:UIModalTransitionStyleCoverVertical];
[controller setDelegate:self];
[self presentModalViewController:controller animated:YES];
[controller release];
Cela fonctionne toujours bien jusqu'à ce que j'ai ajouté une chose au mélange, et j'ai envoyé un message au nouvel objet de commande avant je l'ai présenté, comme si:
MatcherViewController *controller = [[MatcherViewController alloc] initWithNibName:@"MatcherView" bundle:nil];
[controller setPrimary:primaryIndex andSecondary:secondaryIndex];
[controller setModalTransitionStyle:UIModalTransitionStyleCoverVertical];
[controller setDelegate:self];
[self presentModalViewController:controller animated:YES];
[controller release];
Ajout cet appel de méthode semble fonctionner jusqu'à ce que je rejette le contrôleur de vue ... à quel point les application se bloque avec un signal EXEC_BAD_ACCESS. Je peux le faire fonctionner avec la ligne supplémentaire si j'enlève [controller release]
, mais j'ai peur que cela cause une fuite. Des idées pourquoi envoyer un message à l'objet avant la présentation provoquerait cela? Existe-t-il un meilleur moyen de transmettre des paramètres simples au ModalViewController?
Merci pour votre temps à redresser les débutants, p
Que faites-vous dans -setPrimary: andSecondary :? –
Passer les paramètres (NSInteger) dans les variables membres. – Devunwired