Pau*_*ron 8 delegates ios swift swift2
我正试图绕过代表团,并将其剥离到基本实现.我想出了这个,但委托函数永远不会被调用.谁能解开一些光明?
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()
点在你打电话之前你callDelegate()需要分配delegate.要检查您的代理是否正常工作,您可以DelegatorClass使用委托初始化.
class DelegatorClass {
    var delegate: MyDelegate? = DelegateClass()
    func callDelegate() {
        delegate?.delegatedFunction("hello")
    }
}
的实例DelegateClass需要将自己设置为实例的委托DelegatorClass
所以,你会得到类似的东西:
class DelegateClass: MyDelegate {
    func delegatedFunction (a:String){
        print(a)
    }
    func testFunction() {
       var delegator=DelegatorClass()
       delegator.delegate=self
       delegator.callDelegate()
    }
}
| 归档时间: | 
 | 
| 查看次数: | 377 次 | 
| 最近记录: |