Локальное объявление myViewController скрывает экземпляр
В методе делегата листа действий, который я модалирую в другое представление на основе индекса кнопки, это метод:
- (void)actionSheet:(UIActionSheet *)actionSheet clickedButtonAtIndex:(NSInteger)buttonIndex {
if (buttonIndex == 0) {
NSLog(@"first button was pressed");
} else if (buttonIndex == 1) {
MyViewController *myViewController = [[MyViewController alloc]initWithNibName:@"MyViewController" bundle:nil];
UINavigationController *navigationController = [[UINavigationController alloc]initWithRootViewController:myViewController];
[self.navigationController presentViewController:navigationController animated:YES completion:nil];
}
}
я получаю ошибку рядом с объявлением nevigationConroller, кто-то знает, в чем проблема?
я объявляю MyViewController в классе.h этого класса..
Спасибо
1 ответ
Решение
Класс, содержащий ваши actionSheet:clickedButtonAtIndex:
Метод имеет ивар по имени myViewController
, Вы создали локальную переменную с именем myViewController
, Вашему проекту XCode было приказано рассматривать это как ошибку, а не просто как предупреждение. Измените имя локальной переменной.
MyViewController *myVC = [[MyViewController alloc]initWithNibName:@"MyViewController" bundle:nil];
UINavigationController *navigationController = [[UINavigationController alloc]initWithRootViewController:myVC];
[self.navigationController presentViewController:navigationController animated:YES completion:nil];