Domanda

Utilizzando un controller di navigazione, sto inviando una nuova visualizzazione e impostando il titolo in modo dinamico:

- (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 è un array mutabile creato da un feed XML.

Ora quando vado alla vista successiva, viene visualizzato correttamente, tuttavia quando provo a fare un NSLog all'interno del nuovo viewController, si registra come (null):

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

27-10-2009 11: 30: 20.416 myApp [50289: 20b] Il titolo è: (null)

Devo usare il titolo come parametro per afferrare una query del servizio web ...

Qualche idea?

È stato utile?

Soluzione

Se stai tentando di registrare il titolo nel -viewDidLoad del controller o qualcosa di simile, non riesce perché stai impostando il titolo dopo spingendo il controller di visualizzazione. Imposta il titolo del controller prima di spingerlo e dovrebbe funzionare meglio.

L'unica altra ragione per cui potrebbe essere nulla è se la variabile selectedCountry è zero. Accedi direttamente per assicurarti.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top