背景: 去年的时候,接触到事件总线这个概念和开发者/订阅者模式,故花了一些时间写了一个轻量级的事件总线,它主要解决的问题是,轻松的监听App中的各种事件,无论是电话终端,还是一些进入前台和进入后台的系统行为都可以轻松的监控,更重要的是,开发者/订阅者模式使得viabus相当于一个事件的通道,我们可以很方便的调试和统计各类事件。此外,VIABUS还提供了一个功能就是,就是不需要手动的管理监听(或者说订阅的周期),即:当一个实例在内存中被销毁的时候,自动解除订阅,而不是传统的调用removeObserver的方法。
简而言之,VIABUS是对iOS中Notification的封装,并自动管理了所有事件的订阅者和监听的周期。
/**
发送消息
@param notification 事件名称的字符串
*/
- (void)publishNotification:(NSString *)notification;
/**
订阅消息
@param name 事件名称
@param target 注册事件通知的收信人
@param handler 处理handler
*/
- (void)subscribeEventWithEventname:(NSString *)name andTaget:(id _Nonnull)target handler:(handler)handler;
Github:github.com/BBC6BAE9/VI…