0

クラス 1 には、例外を生成する次のコードがあります -

-(IBAction) searchAllAction: (id) 送信者 {
AddDiagSearchController *search = [[AddDiagSearchController alloc] initWithNibName:@"DiagSearch" bundle:nil];
[self.navigationController pushViewController:検索アニメーション:YES];
}

パーツはpushViewController次の例外を生成します - 2010-04-14 14:03:31.060 Nav[10314:207] *** -[UIView addTarget:action:forControlEvents:]: unrecognized selector sent to instance 0x3956a80

そして、プッシュしようとしているクラスには次のコードがあります。IBOutlets のすべての接続は、インターフェイス ビルダーを介して行われました。下部に tableView、検索テキスト バー、タブバーがあり、これを 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) rejectResponder: (id) 送信者;
@終わり

4

2 に答える 2

1

これは無効な引数の例外ではなく、認識されないセレクターです。AddDiagSearchController をプッシュするときに、UIControl 向けのメッセージを UIView に送信しています。これは、おそらく nib ファイルがめちゃくちゃになっていることを意味します。

于 2010-04-14T18:51:31.770 に答える
0

よくわかりませんが、メモリ管理の問題のようです。このような問題のデバッグには、CocoaDev に関するこの記事が役立ちます。MallocStackLogging はシミュレーターでのみ機能することに注意してください。プッシュされたものではなく、以前のビューまたはコントローラー (リリースが早すぎる) に問題があると思います。

ちなみに、search作成時にメモリリークしているようですが、そうではありませreleaseautorelease

于 2010-04-14T18:27:44.250 に答える