首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >斯威夫特ReactiveCocoa combineLatest

斯威夫特ReactiveCocoa combineLatest
EN

Stack Overflow用户
提问于 2015-06-23 02:29:36
回答 1查看 2.2K关注 0票数 3

在obj-c中,我可以使用以下方法:

代码语言:javascript
复制
RACSignal *signUpActiveSignal = [RACSignal combineLatest:@[validUsernameSignal, validPasswordSignal]
                reduce:^id(NSNumber*usernameValid, NSNumber *passwordValid){
                  return @([usernameValid boolValue]&&[passwordValid boolValue]);
                }];

当我把它翻译成斯威夫特时,就像这样:

代码语言:javascript
复制
RACSignal.combineLatest([accountSignal, passwordSignal]) { () -> AnyObject! in
        // arguments
        return true
        }.subscribeNext { (reduceResult: AnyObject!) -> Void in
        KMLog("\(reduceResult)")
    }

我怎样才能得到参数

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-06-24 17:06:34

我还没有弄清楚如何在combineLatest中使用这个闭包,但是您可以使用map。输入是一个RACTuple对象。可以从输入信号中获取对象,如下所示:

代码语言:javascript
复制
RACSignal.combineLatest([accountSignal, passwordSignal]).map {
        let tuple = $0 as! RACTuple
        let account = tuple.first as! String
        let password = tuple.second as! String
        // your code here
    }

显然,您希望将对象转换为它们的实际类型,但我只是在这里使用String作为示例。请记住,您必须在map闭包的末尾返回合并的对象。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/30992909

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档