我试图让我的头脑围绕代表团,并将其剥离到一个基本的实现.我想出了这个,但委托函数永远不会被调用.任何人都可以解释一下吗?
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") } }