SugarBus 0.2.0

SugarBus 0.2.0

LeoMobileDeveloper 维护。



SugarBus 0.2.0

  • 作者:
  • Leo

SugarBus

Version Platform Language License

中文文档

  • 快速
  • 异步
  • 线程安全
  • 类型安全

SugarBus 三步走

使用任何类型定义事件

struct DemoEvent: Event{
  //Any property you want
}

订阅事件

DemoEvent.addSubscriber().next { (event) in }

发布事件

DemoEvent().publish()

依赖

  • iOS 8
  • Swift 4

安装

pod SugarBus

功能

线程

默认情况下,所有回调处理程序都在主线程上调用,如果您想在其他线程上接收它

Event.addSubscriber().at(queue:yourqueue).next { (event) in }

生命周期跟踪器

通常,当对象被解除引用时,您想要取消订阅事件。您可以使用 attach(to:) 来实现。

//When self is dealloced, disposed() is called
Event.addSubscriber().attach(to:self).next { (event) in }

如果您希望手动处理销毁

let token = Event.addSubscriber().next { (event) in }
token.dispose()

事件ID

有时,您可能只对事件的特定ID感兴趣。

1. 提供事件ID

struct DownloadEvent: Event{
    var eventId: String{
    	return itemId
    }
 	 let itemId: String
}

2. 使用 only 订阅

DownloadEvent.addSubscriber()
             .attach(to:self)
             .only(id:"12345")
             .next{ (event) in
              
              }

发布

DownloadEvent(itemId:"12345").publish()

作者

Leo, [email protected]

许可

SugarBus 在 MIT 许可下可用。有关更多信息,请参阅 LICENSE 文件。