在abc()完成执行后,我无法让应用程序执行changeCard()。这两个函数属于不同的类。这是下面的代码。任何帮助表示赞赏!
protocol NetworkControllerDelegate {
func changeCard()
}
class NetworkController {
var networkControllerDelegate: NetworkControllerDelegate?
func abc () {
//do something here
networkControllerDelegate?.changeCard()
}
}
class View: UIViewController, NetworkControllerDelegate {
var networkController = NetworkController()
func changeCard() {
//do something here
networkController.networkControllerDelegate = self
}
}
我在过去几个小时内已经阅读了有关stackoverflow的所有类似问题,但仍然无法弄明白。谢谢!
答案 0 :(得分:0)
尝试将以下行移动到视图控制器的viewDidLoad中,以便在使用之前设置委托。
networkController.networkControllerDelegate = self
另外,您可能想要考虑使NetworkController中的networkControllerDelegate变量变弱,以避免任何保留周期。