1

Я пытаюсь отправить некоторые значения с одного монитора в другой. (все встроено в NavigationController). Я мог бы сделать segue с нормальными viewcontrollers, поэтому, в общем, я понимаю идею segue. Я должен сделать это двумя разными способами и получить две разные проблемы.SWIFT 3: Segue с контроллером навигации

Первый способ, segue делает правильно, но «два раза». Я имею в виду после segue (чего я хочу) есть еще один переход к одному контроллеру, но без навигационного контроллера и без данных, которые я бы послал. Кнопка «Назад» на последнем диспетчере просмотра возвращается в AlmostViewController.

Вот код: enter image description here

Второй способ, ничего не произошло,

ErorCould не отбрасывать значение типа 'RevisionApp.AlmostViewController' (0x1055d58c0) к 'UINavigationController' (0x107669f18).

Вот код: enter image description here

ответ

0

Для первой проблемой при использовании встроенного в навигации контроллера у вас есть не нужно создавать функцию действия, когда кнопка прослушиваются. Контроллер навигации делает это за вас. Итак, что вам нужно сделать:

  1. Отключите функцию btnTapped от кнопки, используя storyBoard.
  2. Удалить или прокомментировать функцию btnTapped (Вам это не нужно).
+0

Большое спасибо за решение. Это работает :) – gfd

+0

@Jakubpawelski Добро пожаловать! Рад был помочь. Я тоже учусь. Пожалуйста, поддержите ответ. –

0

Проблема номер строки 18. Вы пытаетесь нанести AlmostViewController на номер UINavigationController. Прямой доступ, как это,

let detailController = segue.destination as! AlmostViewController 
0

пусть раскадровке: UIStoryboard = UIStoryboard (название: "Main", расслоение: ноль)

пусть nextViewController = storyBoard.instantiateViewControllerWithIdentifier ("ViewController2"), как NextViewController self.presentViewController (nextViewController, анимированный: true, завершение: ноль)

+0

Вы должны отформатировать свой код. –