2009-10-27 6 views
0

Использование навигационного контроллера, я толкая новый вид и установив название этого динамически:self.title возвращается (NULL)

- (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 быть изменяемым массив создан из сырья XML.

Теперь, когда я иду к следующему мнению, он показывает правильно, но когда я пытаюсь сделать NSLog внутри нового ViewController, она входит в (нулевое значение):

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

2009-10-27 11 : 30: 20,416 MYAPP [50289: 20b] название является: (нуль)

мне нужно использовать название в качестве параметра для захвата запроса веб-службы ...

Любые мысли?

+0

Вы нажимаете кнопку просмотра или контроллера вида? Вы не можете нажать на представление. Каким классом является ScheduleState? – nduplessis

ответ

2

Если вы пытаетесь зарегистрировать заголовок в -viewDidLoad контроллера или что-то подобное, оно не работает, потому что вы устанавливаете заголовок после, нажимая контроллер вида. Установите заголовок контроллера, прежде чем нажимать его, и он должен работать лучше.

Единственная причина, по которой это может быть nil, если переменная selectedCountry равна нулю. Войдите в систему, чтобы убедиться в этом.

+0

Отлично! Большое спасибо. – rson

Смежные вопросы