iOS 实现多代理的方法及实例代码

2020-01-18 16:32:40于海丽


class WeakObjectBridge : NSObject {
  weak var weakObject : AnyObject?
  override init() {
    super.init()
  }
  init(object:AnyObject?) {
    super.init()
    weakObject = object
  }
}

操作代理


func operatDelegate(cb: @escaping (_ delegate:AnyObject?) -> ()){
    for weakObjectBridge in self.delegateBridges {
      DispatchQueue.main.async {
        cb(weakObjectBridge.weakObject)
      }
    }
  }

具体调用


func action() {
    operatDelegate { (delegate) in
      if let myDelegate = delegate as? SomeManagerDelegate {
        myDelegate.callBack()
        myDelegate.callback?(msg: ["msg":"hello world!"])
      }
    }
  }

Demo演示

iOS,实现多代理,实现多代理实现方法,多代理

   Demo下载

点击这里下载demo.

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!


注:相关教程知识阅读请移步到IOS开发频道。