ABDataBus
示例
//相当于通知,生命周期同target
// ViewControllerA
ABDataBus.registerNoti(key: "login/loginSuccess", target: self) { (data) in
}
// LoginViewController
ABDataBus.callNoti(key: "login/loginSuccess", data: nil)
// ViewContorllerA {
// var user;
// }
//注册一个对象回调,生命周期同target
ABDataBus.registerObject(key: "page/user", target: self) { [weak self] (data) -> Any? in
return self.user
}
var user = ABDataBus.callObject(key: "page/user", data: nil)
//注册一个数据回调,长驻内存中,调用removeData释放
ABDataBus.registerData(key: "page/user") { [weak self] (data) -> Any? in
return self.user
}
var user = ABDataBus.callData(key: "page/user", data: nil)
//注册一个服务,可能是页面跳转,也可能是方法调用,长驻内存中,调用removeService释放
ABDataBus.registerService(key: "service/showlogin") { (data, response:ABDataBusResponseBlock?) in
var loginCtl:LoginViewController = LoginViewController.init()
self.present(loginCtl, animated: true, completion: nil)
if let respBlock = response {
respBlock(nil)
}
}
ABDataBus.callService(key: "service/showlogin", data: nil) { (data) in
print("didShow login page")
}
安装
ABDataBus 通过 CocoaPods 提供。要安装它,只需将以下行添加到您的 Podfile 中:
pod 'ABDataBus'
作者
许可协议
ABDataBus 根据 MIT 许可协议提供。有关更多信息,请参阅 LICENSE 文件。