2016-06-11 1 views
0

У меня проблема. Я хочу сделать, если ячейка прослушивается в первом представлении таблицы, на ней будет отображаться второй контроллер вида, а панель навигации скрыта. Тогда я иду назад к 1-й контроллер представления с помощью кнопки с кодом:найдено nil во время разворачивания необязательного значения при попытке скрытой панели навигации

@IBAction func backButtonTapped(sender: AnyObject) { 
    let storyBoard: UIStoryboard = UIStoryboard(name: "Main", bundle: nil) 
    let VC: UIViewController = storyBoard.instantiateViewControllerWithIdentifier("restaurant") 
    self.presentViewController(VC, animated: true, completion: nil) 
} 

но распечатать

fatal error: unexpectedly found nil while unwrapping an Optional value 

во 2-м контроллере представления, я спрятан панель навигации с помощью этого:

func hiddenNavBar(){ 

    self.navigationController!.navigationBar.hidden = true 
} 

и показать навигационную панель снова на контроллере 1-го вида, используя:

override func viewWillAppear(animated: Bool) { 
    createNavBar() 
} 

func createNavBar(){ 

    self.navigationController!.navigationBar.hidden = false 
} 

моей Главная раскадровка выглядит следующим образом: enter image description here

+0

проверка идентификатора раскадровка «ресторан» –

+0

уже установлен раскадровки чек ID –

+0

если оба одинаковые строки или не –

ответ

2

Вы используете неправильный путь, чтобы вернуться к предыдущему контроллеру представления. Если вы используете контроллер представления навигации нажать на второй контроллер представления, то вам необходимо поп вид контроллера с помощью self.navigationController?.popViewControllerAnimated(true)

Как работает UINavigationViewController? Он создает стек, чтобы отслеживать все контроллеры представлений, на которые вы нажимаете, поэтому, если вы хотите вернуться назад, просто вам нужно сфокусировать контроллер сверху, как работает стек.

0

Написать? вместо ! в навигационной строке.

Подобно этому,

self.navigationController? .navigationBar.hidden = истина

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