Как использовать функций других контроллеров?

У меня есть VC1, в нем функция которая использует функцию из VC2, но когда я из VC3 вызываю функцию func1 ничего не работает
class VC1: UIViewController {
controllerVC2: VC2?
func func1() {
controllerVC2 = VC2()
controllerVC2.controllerVC1 = self
controller.printOk()
}

}

class VC2: UIViewController {
controllerVC1: VC1?
func printOk() {
print("ok")
}
}
class VC3: UIViewController {
controllerVC1: VC1?
func func() {
controllerVC1 = VC1()
controllerVC1.controllerVC1 = self
controllerVC1.func1()
}
}
  • Вопрос задан
  • 260 просмотров
Пригласить эксперта
Ответы на вопрос 2
Sanasol
@Sanasol
нельзя просто так взять и загуглить ошибку
В моделях писать методы, а не в контроллерах.

Контроллеры не для этого.
Ответ написан
Комментировать
@iMaximus
class ViewController1: UIViewController {

class func func1() {
ViewController2.printOk()
}
}

class ViewController2: UIViewController {

class func printOk()
{
print("ok")
}
}

class ViewController3: UIViewController {

override func viewDidLoad() {
super.viewDidLoad()
ViewController1.func1()
}
}

Все работает, проверил. Только это всеравно дичь. Готовый пример, как делать не нужно. А то что у вас, даже комментировать не хочется:)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы