【发布时间】:2012-02-22 19:38:49
【问题描述】:
我正在使用 UINavigationController 将 UIViewController 推送到堆栈上,然后当用户在表格视图中选择一行时,我分配了一个新版本的视图控制器并将其推送到堆栈上,这很好,但是当我开始按下后退按钮,我用来存储信息的 NSMutableArray 似乎保留了刚刚从堆栈中弹出的视图控制器的值。
这是将新的压入堆栈的方法:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
[tableView deselectRowAtIndexPath:indexPath animated:YES];
if (indexPath.section == 1) {
if (hasLoadedResponses && [responses count] == 0) {
return;
}
VideoDetailViewController_iPhone *nextView = [[VideoDetailViewController_iPhone alloc] initWithNibName:@"VideoDetailViewController_iPhone" bundle:nil withVideoArray:[responses objectAtIndex:indexPath.row]];
nextView.navController = navController;
[navController pushViewController:nextView animated:YES];
[nextView release];
}
}
我确定我错过了一些愚蠢的东西,但现在似乎找不到。
【问题讨论】:
-
VideoDetailViewController_iPhone如何与NSMutableArray交互?这可能就是您的问题所在。 -
而且,可变数组是如何以及在哪里定义的?如果它是一个类变量而不是一个属性,那可能就是问题所在。
标签: iphone objective-c ios uiviewcontroller uinavigationcontroller