iPhone应用程序在加载新的详细视图时崩溃

iPhone应用程序在加载新的详细视图时崩溃,iphone,objective-c,Iphone,Objective C,我的问题是,当试图通过表单元格加载详细视图时,应用程序经常崩溃。运行调试时出现的错误是: ____由于未捕获异常而终止objc异常 扔 如果有人能帮助我,我将不胜感激 这是调试的屏幕截图,我不确定我是否正确解释了它 这是我的代码,我相信错误正在发生: - (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { NSInteger row = [indexPath

我的问题是,当试图通过表单元格加载详细视图时,应用程序经常崩溃。运行调试时出现的错误是:

____由于未捕获异常而终止objc异常 扔

如果有人能帮助我,我将不胜感激

这是调试的屏幕截图,我不确定我是否正确解释了它

这是我的代码,我相信错误正在发生:

- (void)tableView:(UITableView *)tableView  didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSInteger row = [indexPath row];
if(self.moreDetailView == nil){
    DetailViewController *dvController = [[DetailViewController alloc] initWithNibName:@"DetailViewController" bundle:[NSBundle mainBundle]];
    self.moreDetailView = dvController;
    [dvController release];
}
else{}
moreDetailView.title = [NSString stringWithFormat:@"%@", [listOfItems objectAtIndex:row]];

goHerdv2AppDelegate *delegate = [[UIApplication sharedApplication] delegate];
[delegate.detailView pushViewController:moreDetailView animated:YES];}

您应该尝试在故障点之前插入一些断点,然后向前走,直到它崩溃

然后,再次执行此操作,观察moreDetailView、delegate等的值,以查看该值是否更改和/或定义是否正确


发生了什么应该变得相当明显。

也许您忘记在nib中设置视图出口了?

是委托。detailView实际上是UINavigationViewController的一个实例?在我看来不是。detailView是DetailViewController类的一个实例,它是NavigationViewController。我在AppDelegate中声明了它。IBOutlet detailView控制器*detailView;你合成变量了吗?你不应该将UINavigationController子类化。这可能是您的问题。在调试器中,转到stacktrace并单击代码的第一行。在您发布的图像中,它可能位于DidSelectRowatinedPath方法的某个位置,并且应该将您带到代码中导致错误的那一行,当尝试逐步解决问题时,我遇到了这个错误:'-tableView:DidSelectRowatinedExath:-第87行'-objective-C我相对较新,不太确定这是什么意思控制台中的错误。您正在设置断点并使用调试器窗口吗?可能这就是我要查找的错误:由于tableView:accessoryTypeForRowWithIndexPath:in的委托实现而使用旧单元布局。请删除此方法的实现,并将单元格属性accessoryType和/或editingAccessoryType设置为移动到新的单元格布局行为。这个方法在将来的版本中将不再被调用。这不是问题所在,我注释掉了有问题的方法,但仍然导致崩溃。