Class 1具有以下生成异常的代码 -
- (IBAction)searchAllAction:(id)发件人{
AddDiagSearchController * search = [[AddDiagSearchController alloc] initWithNibName:@“DiagSearch”bundle:nil];
[self.navigationController pushViewController:search animated:YES];
}
pushViewController
部分会产生以下异常 -
2010-04-14 14:03:31.060 Nav[10314:207] *** -[UIView addTarget:action:forControlEvents:]: unrecognized selector sent to instance 0x3956a80
我正在尝试推送的类具有以下代码。 IBOutlet的所有连接都是通过接口构建器完成的。它有一个tableView,搜索文本栏和底部的tabbar,我将把它添加到UINavigationController。
@interface AddDiagSearchController:UIViewController< UITableViewDataSource,UITableViewDelegate> {
UIBarButtonItem * quickAdd;
UIBarButtonItem * searchAll;
UITextField * searchTxt;
}
@property(非原子,保留)IBOutlet UITextField * searchTxt;
- (IBAction)searchAllClicked:(id)发件人;
- (IBAction)quickAddClicked:(id)发件人;
- (IBAction)searchBtnClicked;
- (IBAction)resignResponder:(id)发件人;
@end
答案 0 :(得分:1)
这不是无效的参数异常,它是无法识别的选择器。在推送AddDiagSearchController时,您正在向UIView发送一条消息,意味着您可能有一个混乱的nib文件。
答案 1 :(得分:0)
我不确定,但它看起来像内存管理问题。我发现这个article on CocoaDev在调试这些问题时非常有用。请注意,MallocStackLogging仅适用于模拟器。我敢打赌,以前的视图或控制器(它发布得太早)存在问题,而不是推送它。
顺便说一下,在您创建search
而不是release
时,您会泄漏内存{/ 1}}。