我们在Android开发中广泛使用了绿色机器人的EventBus库,我们正在寻找类似于iOS的东西。它看起来像一种事件总线已经内置在NSNotificationCenter的形式,以及相当多的第三方解决方案,基本上是包装这个功能与一些附加功能,方便。具有事件对象的iOS事件总线库?
但是,我们习惯于将事件定义为具有明确定义的成员变量的离散对象的概念,以及面向对象的多态性的额外好处。到目前为止,我发现的大多数iOS库都有传递任意事件名称和任意数据包的数据,这对我们来说有点太松散。
迄今为止我发现的唯一一个面向对象设计的例子是Tolo,它乍看起来很好看,但大约三年后还没有更新,除了一些小的文档细节。另外,考虑到它的年龄,它仍然是用Objective-C编写的,如果我们需要在某个时候仔细研究一下(我们非常致力于Swift),这可能会导致一些困难。
还有其他的选择,我还没有遇到过呢?
由于对象(或对象的内容)需要根据事件类型而异,因此创建要传递的特定类是不够的。基本上,我们只是希望在事件名称和数据类型之间进行严格的实施。我试着用泛型和相关类型来处理这个,但它不会为我而来。 –
你总是可以在通用对象中的某个变量中放置一个数据类型id,而不仅仅是用它来选择相关的处理。你怎么看?顺便说一句,如果你发现EventBus端口swift请张贴链接在这里。 –