Нажатие UITableViewController на [self navigationController] вызывает EXC_BAD_ACCESS

В текущем представлении, в котором я нахожусь, событие касания кнопки внутри приводит к следующему действию:

(Обратите внимание, что в отладчике я убедился, что и [self navigationController], и созданный экземпляр historyViewController действительно существуют.

Я не могу определить, почему этот плохой доступ происходит. Я могу вытолкнуть/подтолкнуть это представление/другие представления из навигационного контроллера. Любые идеи о том, как исследовать, почему это представление, в частности, имеет проблемы при переносе на навигационный контроллер?


-(IBAction) viewOrEditHistory: (id) sender {
    HistoryViewController *historyViewController = [[HistoryViewController alloc] initWithStyle:UITableViewStyleGrouped];
    historyViewController.title = @"View or Edit by date";
    historyViewController.sameExSessions = [[NSMutableArray alloc] init];
    historyViewController.exercise = [[Exercise alloc] initWithName:self.title muscleGroup:muscleGroupLabel.text];

/*** EXC_BAD_ACCESS happens after following line is executed ***/
    [[self navigationController] pushViewController:historyViewController animated:YES];
}

Вот мой HistoryViewController.h


#import 

@interface HistoryViewController : UITableViewController {

    NSMutableArray *sameExSessions;
    Exercise *exercise;

}
@property (nonatomic, retain) NSMutableArray *sameExSessions;
@property (nonatomic, retain) Exercise *exercise;

-(NSMutableArray *) SameExerciseSessionList;
-(NSString *) getDocPath;
-(NSInteger) tableView:(UITableView *) tableView numberOfRowsInSection: (NSInteger)section;
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *) indexPath;

@end

person Eitan    schedule 13.07.2010    source источник


Ответы (1)


Пожалуйста, также наведите порядок в управлении памятью, иначе у вас возникнет гораздо больше проблем. За каждым выделением должен следовать либо релиз, либо авторелиз.

person mvds    schedule 15.07.2010
comment
Действительно, причиной проблемы было неаккуратное управление памятью. Спасибо! - person Eitan; 27.10.2011