2010-07-23 2 views
0

J'ai une vue de table initiale que j'ai créée comme menu initial dans mon application. Évidemment, chaque option va accéder à quelque chose de différent, y compris les NIB. Une partie des constantes pour les options de menu est la NIB. Lorsque chaque option est tirée d'un PLIST, j'inclus également quel NIB je voudrais être appelé. Est-ce que je manque quelque chose ou est-ce que je me trompe complètement?Charger un NIB particulier en fonction de la sélection de table

À l'heure actuelle, une sélection ne fait rien.

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath { 

NSMutableString *targetnib = [[self.menuoptions objectAtIndex:indexPath.row] objectForKey:NIB_KEY]; 
if (targetnib == @"HospitalDirectoryViewController") { 
    HospitalDirectoryViewController *hospitalDirectoryViewController = [[HospitalDirectoryViewController alloc] initWithNibName:@"HospitalDirectoryViewController" bundle:nil]; 
    // ... 
    // Pass the selected object to the new view controller. 
    [self.navigationController pushViewController:hospitalDirectoryViewController animated:YES]; 
    [hospitalDirectoryViewController release]; 
} 
if (targetnib == @"PhysicianDirectoryViewController") { 
PhysicianDirectoryViewController *physicianDirectoryViewController = [[PhysicianDirectoryViewController alloc] initWithNibName:@"PhysicianDirectoryViewController" bundle:nil]; 
// ... 
// Pass the selected object to the new view controller. 
[self.navigationController pushViewController:physicianDirectoryViewController animated:YES]; 
[physicianDirectoryViewController release]; 
} 

}

Répondre

0

Essayez d'utiliser [targetnib isEqualToString: @ "TheNibName"]. Dans votre code posté, vous comparez des pointeurs, pas le texte.

+0

Cela a du sens. Cependant comme il attend (et) j'ai essayé si ([targetnib isEqualtoString: @ "DirectoryViewController"]) Je reçois un avertissement may not reply et il se bloque lors de son exécution. Donc, cela semble être la bonne façon, je suis encore en train de bousiller la syntaxe quelque part. – TheHockeyGeek

+0

Vous avez peut-être mal tapé ce commentaire dans le commentaire, mais assurez-vous que le sélecteur est isEqualToString: not isEqualtoString :, tel que vous l'avez saisi. –

+0

En outre ... existe-t-il une raison spécifique pour laquelle vous tapez ceci en tant que NSMutableString par opposition à NSString? NSMutableString va transtyper en NSString en toute sécurité, mais pas vice-versa (besoin de faire un mutableCopy si vous voulez vraiment que votre chaîne soit mutable). –

Questions connexes