Я предполагаю, что 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()
После некоторого рытья вокруг, я совершенно уверен, что это не возможно через API Flot. Тем не менее, если Вы действительно пачкаетесь, Вы могли бы сделать это - я опубликовал измененную версию одного примера, который делает это. Источник представления показывает целую уродливость.
Начиная с июня 2009 года существует проблема с flot 167 , который является запросом именно на эту функцию. Включает две реализации и некоторое согласие автора флота с тем, что это хорошая идея.