有没有办法在框架之间合并相同的协议?

时间:2017-03-10 22:57:43

标签: swift

我正在开发一个包含多个组件的项目。其中一些组件需要在应用程序之间重复使用 - 这些应用程序是相关的,但由于业务原因,它们本身无法合并。值得庆幸的是,下面的问题实际上并没有引起我的问​​题,但我对我如何解决它非常好奇。因为有一天我可能只需要实现以下模式。

假设我有一个名为Foo的CocoaPod和另一个名为Bar的CocoaPod。 Foo使用实现Foo.BussinessLogic协议的对象向其委托报告。 Bar碰巧有一个相同的Bar.BussinessLogic协议。我可以很容易地编写符合这两种协议的对象,但除了直接使Foo符合Bar.BussinessLogic之外,我如何连接到这两个,而不需要在每个唯一的工作周围写一对包装器当Foo向bar发送消息时说item as! Bar.BussinessLogic,反之亦然?

1 个答案:

答案 0 :(得分:1)

如果协议共享一堆方法,那么我的直觉就是让它们都符合第三个库中的通用协议,它们都可以依赖它们。

在Swift中你不能欺骗编译器并说'#34;相信我,他们有相同的方法"。

但是,我不确定这是否能回答您的问题,因为您问题中的类型非常模糊。还有很多其他可能的解决方案。这取决于实际情况。