ABDataBus 0.6

ABDataBus 0.6

liyebiao1990 维护。



  • abiaoyo

ABDataBus

CI Status Version License Platform

示例

//相当于通知,生命周期同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'

作者

[email protected]

许可协议

ABDataBus 根据 MIT 许可协议提供。有关更多信息,请参阅 LICENSE 文件。