草庐IT

ReactiveCocoa

全部标签

ios - ReactiveCocoa - 停止触发 subscribeNext 直到另一个信号完成

我是FRP的新手,我遇到了一个问题:我订阅了一个每秒触发subscribeNext的observable。在subscribeNext的block中,我zip执行异步操作的可观察对象,并在zip的completed阻止我对结果执行操作。letsignal:RACSignalletasynchOperations:[RACSignal]varval:AnyObject?//subscribeNextistrigeredeverysecondsignal.subscribeNext{letasynchOperations=//severalRACSignal//Performasynchr

ios - 信号观察者能否访问 ReactiveCocoa 信号的最后发射值?

我开始使用ReactiveCocoa,但我仍在为一些基本概念而苦苦挣扎:我的应用程序开始监听地理位置数据(在我的View模型中为init)我的应用程序会发出带有我当前位置的信号(didFindCurrentPosition被调用)我的ViewController显示map加载(viewDidLoad在我的ViewController中)我的ViewController开始观察当前位置信号(仍然是viewDidLoad)我的问题是:完成第2步后,如果没有其他事件发送到信号上,我的ViewController就不会收到通知。我的ViewController如何访问信号的最后一个值?(即如何

ios - 在 Swift 中使用 ReactiveCocoa 4 观察对象属性

作为序言,这可能是一个非常简单和/或无知的问题。在ReactiveCocoa2.x中,我们可以使用RACObserve和RAC来观察对象的属性。根据我在Reactive3和4中可以找到的文档,我们现在使用PropertyType来观察对象属性的变化。到目前为止,在使用MutableProperty或DynamicProperty时,我无法观察到任何属性更改。classTempObject{varproperty:String}lettempObject=TempObject()letpropertyObserver:MutableProperty=MutableProperty(tem

swift ReactiveCocoa combine最新

在obj-c中,我可以使用这个方法:RACSignal*signUpActiveSignal=[RACSignalcombineLatest:@[validUsernameSignal,validPasswordSignal]reduce:^id(NSNumber*usernameValid,NSNumber*passwordValid){return@([usernameValidboolValue]&&[passwordValidboolValue]);}];当我将它翻译成swift时,像这样:RACSignal.combineLatest([accountSignal,passw

ios - 使用 ReactiveCocoa 4 在 MVVM 中将信号从 View 传递到模型

我正在一个尽可能基本的iOS应用程序(Swift)中实现ReactiveCocoa4,以便更好地了解如何将它与MVVM架构一起使用。我的问题是:如何从View到模型获取UITextField的文本信号?我在这里得到的是有效的,但感觉这只是50%的react(而且在任何情况下都不太漂亮):VIEW(在viewDidLoad中)originalTextField.rac_textSignal().subscribeNext{(next:AnyObject!)->()inlettext=nextas!Stringself.viewModel?.originalText=text}查看模型va

ios - ReactiveCocoa 5, ReactiveSwift 网络子请求处理 & 最佳实践

我正在尝试寻找最佳实践来处理从父请求中获取的每个值的多个子请求。我正在尝试使用与此处相同的逻辑-ReactiveCocoa5andReactiveSwiftnetworkrequestshandling,但有一些问题。我们拥有和需要的东西:1。具有无限滚动处理程序(SVPullToRefresh)的TableView2。每次调用处理程序时获取对象列表3。为响应中的每个对象发送“子请求”注意事项:1.一旦viewController关闭(调用deinit),所有请求(父请求+子请求)都应该被取消2.我需要有能力随时取消parent的请求。这也应该取消所有子请求。我目前拥有的我知道我在“无

swift - ReactiveCocoa 在 Swift 中忽略 nil

我在应用的很多地方都使用了ReactiveCocoa。我已经构建了一个检查以跳过nil值,如下所示:funcsubscribeNextAs(nextClosure:(T)->())->RACDisposable{returnself.subscribeNext{(next:AnyObject!)->()inself.errorLogCastNext(next,withClosure:nextClosure)}}privatefuncerrorLogCastNext(next:AnyObject!,withClosurenextClosure:(T)->()){ifletnextAsT=

ios - 适当的 ReactiveCocoa 链接

我创建了两个信号:getConnection和connection.rac_delete()。connection.rac_delete()取决于getConnection成功完成。ReactiveCocoa的做法是什么?我目前有这个解决方案,但感觉不是正确的方法。getConnection().subscribeNext({letconnection=$0as!Connectionconnection.rac_delete().subscribeNext({successinprintln("DELETED!")},error:{errorinprintln("ERRORDELETI

ios - 如何用 ReactiveCocoa 完成这个

我正在开发一项功能,让我的应用程序的用户可以找到他们的Facebook好友并将他们添加到应用程序中。我必须执行三个步骤:获取当前连接的用户获取Facebook用户获取应用程序用户(这取决于第2步)完成所有这些后,我需要将三个结果数组组合/缩减为最终数组。我创建了三个函数,它们都返回RACSignalgetUsersWithFacebookIds、getConnectedUsers和getFacebookUsers我不确定如何使用ReactiveCocoa连接所有这些。 最佳答案 OnceAllAreDoneDoSomethingWi

ios - 如何将 "SignalProducer<Bool, NoError>"转换为 ReactiveCocoa 3 的 "SignalProducer<Bool, NSError>"?

我尝试创建一个Action的实例ReactiveCocoa3.letaction:Action=Action{_inifself.flag{returnself.fooSignalProducer//SignalProducer}else{returnself.barSignalProducer//SignalProducer}}此代码无法编译并出现错误'SignalProducer'isnotconvertibleto'SignalProducer'.如何转换SignalProducer至SignalProducer? 最佳答案