[英]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.