2010-04-14 56 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或它。