2010-04-14 4 views
0

classe 1 a le code suivant qui génère l'exception -exception Invalid argument - Barre de navigation, barre d'onglets, UIView

- (IBAction) searchAllAction: (id) sender {
AddDiagSearchController * Recherche = [[ AddDiagSearchController alloc] initWithNibName: @ bundle "DiagSearch": nil];
[self.navigationController pushViewController: recherche animée: OUI];
}

la partie pushViewController génère l'exception suivante - 2010-04-14 14:03:31.060 Nav[10314:207] *** -[UIView addTarget:action:forControlEvents:]: unrecognized selector sent to instance 0x3956a80

Et la classe que je suis en train de pousser a le code suivant. Toutes les connexions pour IBOutlets ont été effectuées via le constructeur d'interface. Il a une tableView, barre de recherche et une barre d'onglets en bas et je vais ajouter cela à un UINavigationController.

@interface AddDiagSearchController: UIViewController < UITableViewDataSource, UITableViewDelegate > {
UIBarButtonItem * AjoutExpress;
UIBarButtonItem * searchAll;
UITextField * searchTxt;
}

@property (nonatomic, retain) IBOutlet UITextField * searchTxt;
- (IBAction) searchAllClicked: (id) expéditeur;
- (IBAction) quickAddClicked: (id) expéditeur;
- (IBAction) searchBtnClicked;
- (IBAction) resignRespondeur: (id) expéditeur;
@end

+0

Alors, quelle est la question? –

Répondre

1

Ce n'est pas une exception d'argument non valide, c'est un sélecteur non reconnu. Vous envoyez un message destiné à un UIControl à un UIView en poussant votre AddDiagSearchController, ce qui implique que vous avez probablement un fichier nib foiré.

+0

Merci, supprimé et recréé le fichier nib. Fonctionne maintenant. –

0

Je ne suis pas sûr, mais il semble que problème de gestion de la mémoire. J'ai trouvé ce article on CocoaDev utile dans le débogage de tels problèmes. Notez que MallocStackLogging ne fonctionne que sur simulateur. Je parie qu'il ya un problème avec précédente vue ou le contrôleur (il est publié trop tôt), pas avec un. Par ailleurs, il semble que vous fuyez la mémoire pour search que vous créez et ne releaserelease ni il.

Questions connexes