2010-11-09 6 views
0

У меня есть приложение для вкладок, которое имеет два элемента. Эти два разных элемента табло содержат 2 разных навигационных контроллера. Первый диспетчер навигации работает нормально, но когда я хочу нажать на вторую навигационную навигацию, она генерирует «Приложение попыталось нажать на контроллер просмотра nil на цель».Нажатие на второй контроллер навигации

вот код, где я нажимаю на второй контроллер навигации.

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

TabNavAppDelegate *appDelegate = (TabNavAppDelegate *)[[UIApplication sharedApplication] delegate]; 
JJ_MapAnnotation *anno = (JJ_MapAnnotation *) [depotsArray objectAtIndex:indexPath.row]; 
if(self.secondViewController ==nil) 
{ 
    SecondViewController *secView = [[SecondViewController alloc] initWithNibName:@"SecondViewController" bundle:nil]; 
    self.secondViewController == secView; 
    [self.secondViewController.map addAnnotation:anno]; 
    [secView release]; 
} 


secondViewController.title = [NSString stringWithFormat:@"%@", [anno title]]; 

[appDelegate.navController pushViewController:secondViewController animated:YES]; 

ответ

0

Держу пари, что в строке:

if(self.secondViewController ==nil) 

self.secondViewController не nil ни является действительным объектом. Вероятно, там есть мусор. Когда вы выполняете такое динамическое распределение, убедитесь, что ваш объект становится нулевым после его выпуска. В противном случае вы можете иметь такие случаи, как этот. Я надеюсь, что это помогает

UPDATE:

== оператор неверен здесь;)

self.secondViewController == secView; //WRONG 
self.secondViewController = secView; //OK 
+0

Привет спасибо за быстрый ответ, но даже если я удалить этот код все еще создает ту же ошибку – EnginBodur

+0

Лол. Глупая ошибка;) проверьте мой обновленный ответ. – nacho4d

+0

Спасибо Mate, ты сделал мой день =)) Оценил !!! – EnginBodur

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