[英]Two way binding with custom signal with Reactive Cocoa not working as expected
[英]Reactive Cocoa - then on custom signal vs UI signal
我开始使用活性可可粉,因此我编写了一个小测试以了解我是否理解然后构造。 目标是仅在发送某些信号后才将文本从文本字段输出到标签。 我已经尝试过rac_signalForControlEvents(UIControlEvents.TouchUpInside)和非常简单的自定义信号。 前者甚至不调用然后关闭,而后者确实按预期工作。 这里有什么问题?
func someSetupFunction()
{
#if true
// Why does this doesn't work?
button.rac_signalForControlEvents(UIControlEvents.TouchUpInside).then
{
let strongSelf = weakSelf
return strongSelf?.textField.rac_textSignal()
}.subscribeNext
{ object in
let strongSelf = weakSelf
strongSelf?.label.text = object as! String! + " - 0"
}
#else
// ... but this does?
customSignal().then
{
let strongSelf = weakSelf
return strongSelf?.textField.rac_textSignal()
}.subscribeNext
{ object in
let strongSelf = weakSelf
strongSelf?.label.text = object as! String! + " - 1"
}
#endif
}
func customSignal() -> RACSignal
{
return RACSignal.createSignal
{ subscriber in
subscriber.sendNext(nil)
subscriber.sendCompleted()
return nil
}
}
从文档然后 :
忽略接收方的所有下一个,等待接收方完成,然后订阅新信号。
button.rac_signalForControlEvents未完成(至少没有在单击按钮时完成),这就是为什么什么也没有发生的原因。
iv-mexx的原始答案可以在https://github.com/ReactiveCocoa/ReactiveCocoa/issues/2671中找到
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.