Я предполагаю, что WheelDelegate
создается в Main
как объект.
Несколько способов сделать это можно:
1) Самый распространенный способ, который я виделявляется создание протокола, а также некоторых делегатов.
Внутри класса Main
, прямо под всеми импортами, вы можете сделать.
protocol ViewControllerTalkingDelegate {
func methodToCall()
}
Внутри WheelDelegate
вы добавляете это как глобальную переменную
var delegate:ViewControllerTalkingDelegate?
Затем, когда вы создаете WheelDelegate
внутри Main
let wheelDelegate = WheelDelegate()
wheelDelegate.delegate = self
Затем, внутри Main
внизу, вы можете сделать
extension Main:ViewControllerTalkingDelegate {
func methodToCall() {
//Do Something
}
}
Теперь внутри WheelDelegate
вы можете сделать delegate.methodToCall()
.
2) Другой способ, которым я имеювидно, что 1-й класс передается как переменная 2-му классу.
Внутри WheelDelegate добавьте глобальную переменную
var myViewController:Main?
Затем можно принять Main
какпараметр при инициализации или при создании WheelDelegate
вы можете сделать
var wheelDelegate = WheelDelegate()
wheelDelegate.myViewController = self
Затем внутри WheelDelegate
вы можете сделать
self.myViewController.methodToCall()