2010-04-14 53 views
0

1类具有下面的代码生成所述异常 -无效参数异常 - 导航栏,选项卡栏的UIView

- (IBAction为)searchAllAction:(ID)发送方{
AddDiagSearchController *搜索= [[ 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

我试图推类具有下面的代码。 IBOutlets的所有连接都是通过接口构建器完成的。它有一个tableView,搜索文本栏和底部的一个tabbar,我将把它添加到UINavigationController。

@interface AddDiagSearchController:的UIViewController < UITableViewDataSource,的UITableViewDelegate > {
的UIBarButtonItem *快速添加;
UIBarButtonItem * searchAll;
UITextField * searchTxt;
}

@property(nonatomic,retain)IBOutlet UITextField * searchTxt;
- (IBAction)searchAllClicked:(id)sender;
- (IBAction)quickAddClicked:(id)sender;
- (IBAction)searchBtnClicked;
- (IBAction)resignResponder:(id)sender;
@end

+0

那么问题是什么? – 2010-04-14 18:22:44

回答

1

这不是无效的参数异常,它是无法识别的选择器。当你推送你的AddDiagSearchController时,你正在向UIView发送一个用于UIControl的消息,这意味着你可能有一个乱糟糟的nib文件。

+0

谢谢,删除并重新创建了nib文件。现在工作。 – 2010-04-18 18:58:14

0

我不知道,但它看起来像内存管理问题。我发现这个article on CocoaDev用于调试这些问题。请注意,MallocStackLogging仅适用于模拟器。我敢打赌,以前的视图或控制器(它被释放得太早)有问题,而不是推一个。

顺便说一句,你似乎泄漏内存为search你创建和不release或它。