允许组件之间进行发布-订阅样式的通信,而不需要组件显式地相互感知。也就是说可以实现类似vue父子组件传数据。
# 发布订阅框架
# https:https://github.com/cesarferreira/SwiftEventBus
pod "SwiftEventBus"
从代码的任何部分发送一个事件。所有匹配事件类型的订阅者都将收到它。
SwiftEventBus.post("someEventName")
订阅服务器实现将在接收到事件时调用的事件处理方法。
SwiftEventBus.onMainThread(target, name: "someEventName") { result in
// UI thread
}
// or
SwiftEventBus.onBackgroundThread(target, name:"someEventName") { result in
// API Access
}
移除目标上的所有观察者
SwiftEventBus.unregister(target)
从目标中移除同名的观察者
SwiftEventBus.unregister(target, "someEventName")
SwiftEventBus.post("personFetchEvent", sender: Person(name:"john doe"))
SwiftEventBus.onMainThread(target, name:"personFetchEvent") { result in
let person : Person = result.object as Person
println(person.name) // will output "john doe"
}