swift-ReactiveObjCBridge Swift与Reactive编程桥接工具
Swift 项目里想用老牌的ReactiveObjC
?又不想放弃ReactiveSwift
的新语法?swift-ReactiveObjCBridge就挺适合你。它是个桥接工具,专门让SignalProducer
、RACSignal
这些信号在Swift
和Objective-C
之间来回跑。嗯,混编项目用它,真的是省心不少。
混编项目里最烦的,就是明明两个库都挺好用,就是不说话。ReactiveObjCBridge就像翻译一样,帮ReactiveSwift
跟ReactiveObjC
打通。你写了个SignalProducer
,转成RACSignal
在OC
里用,没毛病;反过来也行,桥得稳。
比如老项目里还有一堆RACCommand
和RACTuple
,你又想在新代码里用Signal
、Action
这些ReactiveSwift
的类型,这时候桥接就派上用场了。响应链还能统一逻辑,不然一个项目里两个响应模型,光是调试都让人抓狂。
哦,桥接虽然香,但也有坑。类型转换要注意,Swift
对类型挺挑的,随便来个Any
就报错。命名冲突也会遇到,是@objc
暴露的接口,最好起名前先搜一下。
内存管理这块也要小心,毕竟ARC
规则不太一样。Swift
里闭包捕获太猛,Objective-C
那边容易提前释放,调不通数据流都不知道咋回事。还有错误,两边模型不一样,建议统一转成你熟的一种来用。
性能上,桥用得太频繁会有点吃资源,尤其是在高频信号流里,一来一回的转换有点浪费。所以建议架构上想好,哪里桥、哪里不桥,有的放矢。
,swift-ReactiveObjCBridge对混编项目真的是福音。如果你还在苦恼ReactiveSwift
和ReactiveObjC
怎么配合,不妨试试它,熟悉之后切换语言像切输入法一样自然。
34.96KB
文件大小:
评论区