我试图使用带有详细信息的视图制作UITableView,但我收到两个错误。 在下面的代码之后,我得到了两次相同的错误: '内部编译器错误:总线错误' 我不明白为什么?有人能帮我吗? 您可以在here下找到代码图片。
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSInteger row = [indexPath row];
if (self.verwaltungDetailViewController == nil){
verwaltungDetailViewController *aVerwaltungDetail = [[verwaltungDetailViewController alloc] initWithNibName:@"VerwaltungDetailView" bundle:nil];
self.verwaltungDetailViewController = aVerwaltungDetail;
[aVerwaltungDetail release];
}
verwaltungDetailViewController.title = [NSString stringWithFormat:@"%@", [verwaltungsArray objectAtIndex:row]];
NatersAppDelegate *delegate = [[UIApplication sharedApplication] delegate];
[delegate.VerwaltungNavController pushViewController:verwaltungDetailViewController animated:YES];
}
非常感谢您的帮助!
答案 0 :(得分:1)
在我看来,你有一个名为VerwaltungDetailViewController
的 class (注意大写的'V'),你将它与实例变量和放大器混合起来;属性名为verwaltungDetailViewController
(请注意小写的“v”)。在if
块的第一行中,当您尝试创建前者的实例时,您正尝试创建后者的实例。您的代码应如下所示:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSInteger row = [indexPath row];
if (self.verwaltungDetailViewController == nil){
VerwaltungDetailViewController *aVerwaltungDetail = [[verwaltungDetailViewController alloc] initWithNibName:@"VerwaltungDetailView" bundle:nil];
self.verwaltungDetailViewController = aVerwaltungDetail;
[aVerwaltungDetail release];
}
verwaltungDetailViewController.title = [NSString stringWithFormat:@"%@", [verwaltungsArray objectAtIndex:row]];
NatersAppDelegate *delegate = [[UIApplication sharedApplication] delegate];
[delegate.verwaltungNavController pushViewController:verwaltungDetailViewController animated:YES];
编辑:您还会在最后一行代码中犯错误,反之亦然。