我试图让我的头脑围绕代表团,并将其剥离到一个基本的实现.我想出了这个,但委托函数永远不会被调用.任何人都可以解释一下吗?
protocol MyDelegate{
func delegatedFunction (a:String)
}
class DelegatorClass {
var delegate: MyDelegate?
func callDelegate() {
delegate?.delegatedFunction("hello")
}
}
class DelegateClass: MyDelegate {
func delegatedFunction (a:String){
print(a)
}
}
解决方法
let myDelegatorObj = DelegatorClass() myDelegatorObj.delegate = DelegateClass() myDelegatorObj.callDelegate()
Point是在调用callDelegate()之前需要分配委托.要检查委派是否正常工作,可以使用委托初始化DelegatorClass.
class DelegatorClass {
var delegate: MyDelegate? = DelegateClass()
func callDelegate() {
delegate?.delegatedFunction("hello")
}
}