我有一个uitableview'A',它有单元格,单击其中一个单元格时,需要按下另一个表格视图'B'。现在当在'B'中单击一个单元格时,它需要打开一个简单的视图。
我设法在两个不同的视图中显示两个表。但是当在菜单B中单击一个单元格时,它会挂起并显示以下消息
有人可以告诉我如何解决这个问题。谢谢
请在下面找到我的代码
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
NSInteger row = [indexPath row];
NSLog(@"entering the if loop libdecripviewcontoller");
if(self.libraryDescripViewController == nil){
NSLog(@"its creating new instance of libdecripviewcontoller");
LibraryDescripViewController *aLib = [[LibraryDescripViewController alloc] initWithNibName:@"LibraryDescripView" bundle:nil];
self.libraryDescripViewController = aLib;
[aLib release];
}
libraryDescripViewController.title = [NSString stringWithFormat:@"%@",[libraryMenu objectAtIndex:row]];
ULS1AppDelegate *delegate = [[UIApplication sharedApplication] delegate ];
[delegate.searchLibNavController pushViewController:libraryDescripViewController animated:YES];
}
请找到下面的输出
2010-06-27 20:13:15.521 ULS1 [1020:207] 进入if循环 libdecripviewcontoller 2010-06-27 20:13:15.533 ULS1 [1020:207]其中 创建新的实例 libdecripviewcontoller 2010-06-27 20:13:15.541 ULS1 [1020:207] * - [LibraryMenuTabViewController setLibraryDescripViewController:]: 无法识别的选择器发送到实例 0x3c2ec70 2010-06-27 20:13:15.554 ULS1 [1020:207] * 终止应用程序到期 未被捕的例外 'NSInvalidArgumentException',原因: '*** - [LibraryMenuTabViewController setLibraryDescripViewController:]: 无法识别的选择器发送到实例 0x3c2ec70'2010-06-27 20:13:15.558 ULS1 [1020:207] Stack:(29303899, 2512004361,29685819,29255286, 29107906,14755,305005454,3033220, 287146,29088448,29084744,37393941, 37394138,2777007,11184,11038)
答案 0 :(得分:3)
通过打开调试器窗口,单击“显示断点”并设置以下两个断点,可以获得有关错误发生位置的更多信息:
[NSException raise]
objc_exception_throw
现在,当您的应用即将崩溃时,调试器通常会向您显示导致问题的代码行。
因此,在您正在开发的每个应用上都有这些断点是一种很好的做法。
答案 1 :(得分:2)
您似乎在调用“self.libraryDescripViewController = aLib”,这是另一种编写[self setLibraryDescripViewController:alib]的方法。
最可能的原因是你没有在你的类中声明方法setLibraryDescripViewController。
希望这有帮助。
答案 2 :(得分:0)
这里有太少的信息来诊断究竟是什么造成这种情况,但有一件事是肯定的。未为该对象定义要发送到对象的方法。请发布导致错误的代码以及您正在讨论的简单视图的.h和.m文件。
您可能需要将IB中视图控制器的类设置为LibraryDescripViewController。双击xcode中的LibraryDescripViewController.xib文件,当IB打开时,在文件所有者的身份视图中将类设置为LibraryDescripViewController