我正在努力使代表团参与其中,并将其简化为一个基本的实现。我已经提出了这个建议,但是从未调用过委托(delegate)函数。谁能给我一些启示?

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。要检查您的委托(delegate)工作,您可以使用委托(delegate)初始化DelegatorClass
class DelegatorClass {
    var delegate: MyDelegate? = DelegateClass()
    func callDelegate() {
        delegate?.delegatedFunction("hello")
    }
}

关于ios - 如何在Swift中进行委派的基本实现?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/35386648/

10-10 21:34