如何在 Objective-C 代码的项目中使用 RxSwift?
How to use RxSwift in project with Objective-C code?
我在一个混合了 Objective-C 和 Swift 的旧项目中工作,Objective-C 中有很多遗留代码,因此将所有内容迁移到 Swift 是不现实。新代码用 Swift 编写,但 Objective-C 需要通过小更新进行维护。
我最近一直在使用 RxSwift,我也想开始在这个旧项目中使用。
问题是 Objective-C <-> Swift 互操作性。
例如我不会写这个:
@objc let int = BehaviorSubject<Int>(value: 42)
因为我得到 属性 cannot be marked @objc because its type cannot be represented in Objective-C
我该如何处理这种情况?有人在混合 objc/swift 项目中使用 RxSwift 吗?
RxSwift 的核心是 Event
具有关联值的枚举。此枚举无法移植到 Objective-C.
你的问题的答案是......你不能在 Objective-C 代码中使用 RxSwift。
另一种方法是在您的 Objective-C 代码中使用 ReactiveObjC,并将 RxSwift Observables 映射到 ReactiveObjC Signals。
我在一个混合了 Objective-C 和 Swift 的旧项目中工作,Objective-C 中有很多遗留代码,因此将所有内容迁移到 Swift 是不现实。新代码用 Swift 编写,但 Objective-C 需要通过小更新进行维护。
我最近一直在使用 RxSwift,我也想开始在这个旧项目中使用。
问题是 Objective-C <-> Swift 互操作性。
例如我不会写这个:
@objc let int = BehaviorSubject<Int>(value: 42)
因为我得到 属性 cannot be marked @objc because its type cannot be represented in Objective-C
我该如何处理这种情况?有人在混合 objc/swift 项目中使用 RxSwift 吗?
RxSwift 的核心是 Event
具有关联值的枚举。此枚举无法移植到 Objective-C.
你的问题的答案是......你不能在 Objective-C 代码中使用 RxSwift。
另一种方法是在您的 Objective-C 代码中使用 ReactiveObjC,并将 RxSwift Observables 映射到 ReactiveObjC Signals。