Swift no puede llamar al método de protocolo vía delegado
Tengo dos clases Una clase se llamaViewController
y la otra clase se llamaTabView
.
Mi objetivo es llamar a una función.changeTab()
que está dentro de la clase TabView del ViewController.
De alguna manera estoy teniendo problemas porque cada vez que mi delegado estánil
.
Aquí está mi código para ViewController:
protocol TabViewProtocol: class {
func changeTab()
}
class ViewController: NSViewController {
// delegate
weak var delegateCustom : TabViewProtocol?
override func viewDidLoad() {
print(delegateCustom) // outputs "nil"
}
buttonClickFunction() {
print(delegateCustom) // outputs "nil"
delegateCustom?.changeTab() // doesn't work
}
}
Aquí está mi código para TabView:
class TabView: NSTabViewController, TabViewProtocol {
let myVC = ViewController()
override func viewDidLoad() {
super.viewDidLoad()
myVC.delegateCustom = self
}
func changeTab() {
print("test succeed")
}
}
¿Alguien puede explicarme qué estoy haciendo mal? - Soy nuevo en delegados y protocolos ...