Я реализую интерфейс поиска для своего приложения, поэтому в основном я передам ключевое слово поиска из одного ViewController в другой ViewController.Не удалось присвоить значение типа 'UINavigationController'
Я сделал этот тип параметров несколько раз, но на этот раз кажется странным. Целевой объект 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 and UINavigationController swift, How do I segue values when my ViewController is embedded in an UINavigationController? не повезло.
Что заставляет меня задаться вопросом, что у меня уже есть ViewControllers, встроенные в навигационные контроллеры, которые я могу передать параметрам segueing. Однако в этом случае он выбрасывает Не удалось отличить значение ошибки «UINavigationController». Если я пробую прокомментированный код выше, он не вызывает ошибку там, а в классе AppDelegate.
Я иногда сталкиваюсь с этим, когда я не задал свой собственный класс в построителе интерфейса на моем UIViewController или UINavigationController. Проверьте 3-ей вкладку, когда вы выберете свой элемент в построителе интерфейса и убедитесь, что вы правильно настроили его. – Chackle
Во-первых, спасибо. Но я проверил с доски истории и, похоже, указал на правильный класс. –
Похоже, что если вы нажимаете на навигационный контроллер, вам может потребоваться, чтобы дочерний контроллер просмотра (ваш searchviewcontroller) передал ему значение. Имеет ли это смысл? EDIT: Извините, я видел ваш прокомментированный код. Это именно то, что я бы сделал. Я буду исследовать, могу ли я найти проблему. Какая ошибка бросается на appdelegate? – Chackle