How can I create a Signal
from a tap on a UIButton
?
So far I tried to use target/action , but have come to think that there might be an easier way.
In an article of Colin Eberhardt, it is stated that Signals
are appropriate for UI actions. But when I tried to make my around with target/action , I needed to create a CocoaAction
was ultimately initialised with a SignalProducer
.
What I want is some Signal
that emits its next
events with every user tap. I then want to transform this Signal to read from UITextFields
and carry on those values to use them in my application.
Using convenience functions from this gist by @NachoSoto, I was able to achieve this quite simply with 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)")
}
}
self.startButton
.rac_signalForControlEvents(UIControlEvents.TouchUpInside)
.subscribeNext { event in
if let names = event.value {
print("received names \(names)")
}
}
The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.