J'ai cette situation:UISegmentedControl EXC_BAD_ACCESS
// CustViewController.h
...
IBOutlet UISegmentedControl *sgmController;
...
@property (nonatomic, retain) IBOutlet UISegmentedControl *sgmController;
// CustViewController.m
@synthesize sgmController;
- (IBAction)apriRassegnePrecedenti {
NSString *model;
NSString *nibToLoad;
UIBarButtonItem *backBarButtonItem;
VecchieRassegneViewController *vecchieRassegne;
if (self.sgmRassegna.selectedSegmentIndex == 1) {
backBarButtonItem = [[UIBarButtonItem alloc] initWithTitle:@"Rass. odierne" style:UIBarButtonItemStylePlain target:self action:nil];
model = [NSString stringWithString:[[UIDevice currentDevice] model]];
if ([model isEqualToString:@"iPhone"] || [model isEqualToString:@"iPhoneSimulator"]) {
nibToLoad = [NSString stringWithString:@"VecchieRassegneViewController"];
} else {
nibToLoad = [NSString stringWithString:@"VecchieRassegneViewControllerPAD"];
}
vecchieRassegne = [[VecchieRassegneViewController alloc] initWithNibName:nibToLoad bundle:nil];
self.sgmRassegna.selectedSegmentIndex = 0; // The Crash comes here.
[self.navigationController pushViewController:vecchieRassegne animated:YES];
}
[backBarButtonItem release];
[vecchieRassegne release];
}
Le IBOutlet est correctement lié, je ne peux pas comprendre pourquoi il donne l'erreur. Quelques conseils?
EDIT: J'ai effectué les mêmes opérations dans une autre application et cela fonctionne parfaitement; Je ne peux toujours pas comprendre ce qui cause le crash. Je posterai la fonction complète. Comme indiqué dans la réponse, l'événement est géré sur "Valeur modifiée". Ce est la fonction de test qui fonctionne:
- (IBAction)pushDiTest {
ASecondView *secondView;
secondView = [[ASecondView alloc] initWithNibName:@"ASecondView" bundle:nil];
if (self.sgmTest.selectedSegmentIndex == 1) {
self.sgmTest.selectedSegmentIndex = 0;
[self.navigationController pushViewController:secondView animated:YES];
}
[secondView release];
}
Vous avez une trace de pile ou une autre sortie de la console? –
CONSOLE Signal reçu par le programme: "EXC_BAD_ACCESS". – IssamTP
Trace STACK 0x003a56b2 <+0574> mov 0x47b1f2 (% EBX),% edx – IssamTP