2010-01-06 10 views
1

je tente de définir deux points de vue différents dans un sous-vue, selon l'état d'un SegmentSwitcher:iPhone: « sélecteur non reconnu envoyé à l'instance »

if ([sender selectedSegmentIndex] == gameIndex) { 
    if (self.gameView.view == nil) { 
     GameView *gameV = [[UIViewController alloc] initWithNibName:@"GameView" bundle:nil]; 
     self.gameView = gameV; 
     [gameV release]; 
    } 
    [tableView.view removeFromSuperview]; 
    [subView insertSubview:gameView.view atIndex:0]; 
} else { 
    if (self.tableView.view == nil) { 
     TableView *tableV = [[UIViewController alloc] initWithNibName:@"TableView" bundle:nil]; 
     self.tableView = tableV; 
     [tableV release]; 
    } 
    [tableView.view removeFromSuperview]; 
    [subView insertSubview:tableView.view atIndex:0]; 
} 

TableView étend TableViewController, mais je reçois toujours l'erreur suivante lorsque J'essaie de passer à l'tableview:

2010-01-06 19: 55: 00,871 Handball [84675: 40b] * - [UIViewController tableView: numberOfRowsInSection:]: sélecteur non reconnu envoyé à l'instance 0x3b18360 2010-01- 06 19: 55: 00.873 Handball [84675: 40b] * Fin de l'application en raison d'un intercepté exception 'NSInvalidArgumentException', raison: '*** - [UIViewController tableView: numberOfRowsInSection:]: sélecteur non reconnu envoyé à l'instance 0x3b18360' 2010-01-06 19: 55: 00.874 Handball [84675: 40b] Pile: (

Toute aide serait vraiment, vraiment apprécié ...

Répondre

4

Alors que tableV est déclaré être un TableView, il est plus probable initialisés avec un UIViewConrtoller simple, tel qu'il apparaît dans votre code. Essayez de changer la ligne:

TableView *tableV = [[TableView alloc] initWithNibName:@"TableView" bundle:nil]; 

Et TableView devrait être un sous-type de UITableViewController. Par ailleurs, la même chose devrait probablement se produire avec GameView aussi bien.

+0

Quelqu'un peut-il être aussi bête ...? MERCI BEAUCOUP, bien sûr c'est tout ... vous avez sauvé ma journée ... – swalkner

+1

oh, s'il vous plaît dites contrôleur et non conrtoller, il peut sauver autant d'erreurs = D –