将UITableViewController推送到[self navigationController]会导致EXC_BAD_ACCESS

时间:2010-07-13 23:41:26

标签: iphone uinavigationcontroller uitableview 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

1 个答案:

答案 0 :(得分:0)

请直接进行内存管理,否则会遇到更多问题。每个alloc都应该有一个释放或自动释放。