如何通过Signal
点击来创建UIButton
?
到目前为止,我试图使用目标/行动,但已经开始认为可能有一种更简单的方法.
在Colin Eberhardt的一篇文章中,声明Signals
适用于UI操作.但是当我尝试使用目标/动作时,我需要创建一个CocoaAction
最终初始化为SignalProducer
.
我想要的是一些在每个用户点击时Signal
发出它的next
事件.然后,我想要将此信号转换为读取UITextFields
并继续执行这些值以在我的应用程序中使用它们.
使用@NachoSoto的这个要点的便利功能,我能够非常简单地实现这一点signalForControlEvents(UIControlEvents.TouchUpInside)
:
self.startButton .signalForControlEvents(UIControlEvents.TouchUpInside) .map { _ in (self.name1TextField.text!, self.name2TextField.text!)} .observe { event in if let names = event.value { print("received names \(names)") } }