在obj-c中,我可以使用以下方法:
RACSignal *signUpActiveSignal = [RACSignal combineLatest:@[validUsernameSignal, validPasswordSignal]
reduce:^id(NSNumber*usernameValid, NSNumber *passwordValid){
return @([usernameValid boolValue]&&[passwordValid boolValue]);
}];当我把它翻译成斯威夫特时,就像这样:
RACSignal.combineLatest([accountSignal, passwordSignal]) { () -> AnyObject! in
// arguments
return true
}.subscribeNext { (reduceResult: AnyObject!) -> Void in
KMLog("\(reduceResult)")
}我怎样才能得到参数
发布于 2015-06-24 17:06:34
我还没有弄清楚如何在combineLatest中使用这个闭包,但是您可以使用map。输入是一个RACTuple对象。可以从输入信号中获取对象,如下所示:
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闭包的末尾返回合并的对象。
https://stackoverflow.com/questions/30992909
复制相似问题