Swift 从ReactiveCocoa 2.4.7跳到ReactiveCocoa 5.0.0
我已经接管了一个iOS项目,该项目使用CocoaPods实现了Swift 从ReactiveCocoa 2.4.7跳到ReactiveCocoa 5.0.0,swift,reactive-cocoa,reactive-cocoa-5,Swift,Reactive Cocoa,Reactive Cocoa 5,我已经接管了一个iOS项目,该项目使用CocoaPods实现了reactiveCocoa2.4.7。该应用程序是在Swift 1.2中编程的,但后来进行了升级,现在是Swift 2.3。但是,ReactiveCocoa尚未更新。 我现在的目标是将应用升级到Swift 3,但要做到这一点,我还必须升级ReactiveCocoa 在ReactiveCocoa 2.4.7中,如果我是正确的,我可以观察从NSObject继承的值,只要它们具有动态关键字。据我所知,这是为了使RAC能够访问Objectiv
reactiveCocoa2.4.7
。该应用程序是在Swift 1.2中编程的,但后来进行了升级,现在是Swift 2.3。但是,ReactiveCocoa尚未更新。
我现在的目标是将应用升级到Swift 3,但要做到这一点,我还必须升级ReactiveCocoa
在ReactiveCocoa 2.4.7中,如果我是正确的,我可以观察从NSObject继承的值,只要它们具有动态
关键字。据我所知,这是为了使RAC能够访问Objective-C中的内容。5.0.0中是否没有这样的内容?我必须从更改所有变量吗
动态变量名称:字符串?=“我的名字”
到
让name:MutableProperty=MutableProperty(“MyName”)
这是否是5.0.0中的正确等价物?反应Cocoa 2.4.7是用ObjC编写的。If可以将项目升级到Swift 3,而无需升级 要使ReactiveCocoa 2.4.7在Swift 3中工作,您必须进行的所有更改都是由于方式的更改 看这个相关的问题 关于等价性问题,答案是肯定和否定 否:在RAC 2.x中,您可以通过
RACObserve
宏观察NSObject
的任何属性,该宏通过KVO工作(在Swift中,您必须对宏使用a)。要在Swift中使用此功能,您需要为属性使用dynamic
关键字以启用KVO
RAC 5.0中与此等效的是DynamicProperty
。
然而,正如文件所述:
仅在万不得已的情况下使用本课程MutableProperty
通常更好,除非您使用的API需要KVC/KVO
因此:
是:,可变属性
在大多数情况下都是正确的等价物。但它需要您进行更多更改,并且不会像RACObserve
那样工作
使用RACObserve
或DynamicProperty
,只需设置person.name=“Rudolph”
,即可调用name
属性的观察者
使用
MutableProperty
,您必须设置person.name.value=“Rudolph”
对。如果不使用Cocoa部件,您可以安装ReactiveSwift
,