У меня такая ситуация:
// 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];
}
IBOutlet правильно связан, я не могу понять, почему он дает ошибкуНекоторые советы?
РЕДАКТИРОВАТЬ: я сделал ssame операции в другом приложении, и он работает отлично;Я до сих пор не могу понять, что является причиной аварии.Я выложу полную функцию.Как сказано в ответе, событие обрабатывается на «Значение изменено».Это тестовая функция, которая работает:
- (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];
}