现在,我有一个索引的UITableView,它转到一个详细视图,但我希望它转到另一个UITableView,然后是一个细节视图。
我的代码如下:
`-(空)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
displyAnnController *anController = [[displyAnnController alloc] initWithNibName:@"AnnView" bundle:[NSBundle mainBundle]];
DetailViewController *dvController = [[DetailViewController alloc] initWithStyle:UITableViewStyleGrouped];
switch (indexPath.row) {
case 0:
[self.navigationController pushViewController:anController animated:YES];
[anController release];
anController = nil;
break;
case 1:
[self.navigationController pushViewController:dvController animated:YES];
[dvController release];
dvController = nil;
break;
default:
break;
}`当我在模拟器中按下索引为0的单元格时,程序就崩溃了!
有什么问题吗?请帮帮我..。
不,我没有覆盖-initWithNibName,我只是在这里以同样的方式使用它,但是要推到ControlView而不是TableView.Also,调试控制台中没有错误。我试着在开关块之后释放控制器,但是程序仍然崩溃:(总之,我写的时候是工作的:
displyAnnController *anController = [[displyAnnController alloc] initWithStyle:UITableViewStyleGrouped]];而不是:
displyAnnController *anController = [[displyAnnController alloc] initWithNibName:@"AnnView" bundle:[NSBundle mainBundle]]暂时,我接受这个只是为了完成我的工作!但我希望找到任何帮助的例子,因为没有必要成为一个团体。
谢谢大家的帮助和建议。
发布于 2010-04-27 16:50:36
查看调试控制台(Cmd-Shift-R)并查看错误。
您是否在-initWithNibName上重写displyAnnController消息?还是-viewDidLoad消息?
你的记忆也有漏洞。您总是+alloc两个控制器,但只-release之一。不要+alloc你的控制器,除非你真的要使用它。
发布于 2011-12-05 11:14:27
我认为您的应用程序正在崩溃,因为您首先发布了视图,然后使其成为nil.If,一旦发布,它就没有获得使其成为nil.Try的引用,而是once.It可能会工作。
https://stackoverflow.com/questions/2723080
复制相似问题