Привет, ребята, у меня снова небольшой вопрос. Как я могу использовать протокол в сочетании с навигационным контроллером. Итак, прежде всего, вот два моих класса:
Контроллер первого представления:
class VC1: UIViewController{
var cons = "nothing"
@IBAction func PRINT(_ sender: Any) {
print(cons)
}
@IBAction func PRESENT(_ sender: Any) {
let VC = storyboard?.instantiateViewController(identifier: "VC") as! VC2
VC.delegate = self
present(VC, animated: true, completion: nil)
} }
extension VC1: data {
func give(text: String) {
cons = text
} }
Контроллер второго представления:
protocol data {
func give(text: String)}
class VC2: UIViewController {
var delegate: data!
@IBAction func SAVEDISMISS(_ sender: Any) {
delegate.give(text: "Hallo")
dismiss(animated: true, completion: nil)
}}
А вот и моя раскадровка: введите описание изображения здесь
Итак, теперь я перейду к своей проблеме. Когда я запускаю код, появляется сообщение об ошибке, когда я выполняю любой переход на VC2, потому что при использовании протокола контроллер навигации исключается, но когда я представляю контроллер навигации вместо VC2, протокол больше не работает.
Что я могу изменить, чтобы контроллер навигации не исключался, а протокол работал и то, и другое.
Надеюсь, кто-нибудь может мне помочь, и снова извините за мой плохой английский sh. Надеюсь, ты все поймешь.
Удачного дня или ночи.