Я реализую интерфейс поиска для своего приложения, поэтому в основном я передам ключевое слово поиска из одного ViewController в другой ViewController.
Я сделал этот тип параметров несколько раз, но на этот раз кажется странным. Целевой объект ViewController встроен в контроллер навигации.
Теперь код выглядит примерно так.
override func prepareForSegue(segue: UIStoryboardSegue?, sender: AnyObject!) {
if (segue?.identifier == "home_to_search") {
var searchKeyword = txtSearchBarHome.text
var svc = segue?.destinationViewController as! SearchViewController;
svc.toPassSearchKeyword = searchKeyword;
//let nav = segue?.destinationViewController as! UINavigationController
//let svc = nav.topViewController as! SearchViewController
//svc.toPassSearchKeyword = searchKeyword;
}
}
Я уже изучил эти вопросы DestinationViewController Segue и UINavigationController swift, Как изменить значения, когда мой ViewController встроен в UINavigationController? без удачи.
Что заставляет меня задаться вопросом, что у меня уже есть ViewControllers, встроенные в контроллеры навигации, которые я могу передавать параметры путем segueing. Однако в этом случае он выбрасывает Не может отличить значение типа "UINavigationController" . Если я пробую прокомментированный код выше, он не вызывает ошибку там, а в классе AppDelegate.