swift-ReactiveObjCBridge Swift与Reactive编程桥接工具

Swift 项目里想用老牌的ReactiveObjC?又不想放弃ReactiveSwift的新语法?swift-ReactiveObjCBridge就挺适合你。它是个桥接工具,专门让SignalProducerRACSignal这些信号在SwiftObjective-C之间来回跑。嗯,混编项目用它,真的是省心不少。

混编项目里最烦的,就是明明两个库都挺好用,就是不说话。ReactiveObjCBridge就像翻译一样,帮ReactiveSwiftReactiveObjC打通。你写了个SignalProducer,转成RACSignalOC里用,没毛病;反过来也行,桥得稳。

比如老项目里还有一堆RACCommandRACTuple,你又想在新代码里用SignalAction这些ReactiveSwift的类型,这时候桥接就派上用场了。响应链还能统一逻辑,不然一个项目里两个响应模型,光是调试都让人抓狂。

哦,桥接虽然香,但也有坑。类型转换要注意,Swift对类型挺挑的,随便来个Any就报错。命名冲突也会遇到,是@objc暴露的接口,最好起名前先搜一下。

内存管理这块也要小心,毕竟ARC规则不太一样。Swift里闭包捕获太猛,Objective-C那边容易提前释放,调不通数据流都不知道咋回事。还有错误,两边模型不一样,建议统一转成你熟的一种来用。

性能上,桥用得太频繁会有点吃资源,尤其是在高频信号流里,一来一回的转换有点浪费。所以建议架构上想好,哪里桥、哪里不桥,有的放矢。

swift-ReactiveObjCBridge对混编项目真的是福音。如果你还在苦恼ReactiveSwiftReactiveObjC怎么配合,不妨试试它,熟悉之后切换语言像切输入法一样自然。

zip 文件大小:34.96KB