Question

À l'aide d'un contrôleur de navigation, j'appuie sur une nouvelle vue et en définit le titre de manière dynamique:

- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath {
int countryIndex = [indexPath indexAtPosition: [indexPath length] - 1];
NSString *selectedCountry = [[countrysData objectAtIndex: countryIndex] objectForKey: @"title"];
scheduleState *scheduleStateViewController = [[scheduleState alloc] initWithStyle:UITableViewStyleGrouped];

[self.navigationController pushViewController:scheduleStateViewController animated:YES];    
scheduleStateViewController.title = selectedCountry;    

[scheduleStateViewController release];

CountryData étant un tableau mutable créé à partir d'un flux xml.

Maintenant, lorsque je passe à la vue suivante, il s'affiche correctement. Toutefois, lorsque j'essaie de créer un journal NSLog dans le nouveau viewController, il enregistre en tant que (null):

NSLog(@"The title is: %@", self.navigationItem.title);

2009-10-27 11: 30: 20,416 myApp [50289: 20b] Le titre est: (null)

Je dois utiliser le titre en tant que paramètre pour la saisie d'une requête de service Web ...

Avez-vous des idées?

Était-ce utile?

La solution

Si vous essayez de consigner le titre dans le -viewDidLoad du contrôleur ou quelque chose de similaire, cela échoue car vous définissez le titre après avoir poussé le contrôleur de vue. Définissez le titre du contrôleur avant de l’appuyer pour que cela fonctionne mieux.

La seule autre raison pour laquelle il pourrait être nul est si la variable selectedCountry est égale à nil. Connectez-vous directement pour vous en assurer.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top