Swift 观察UISwich控制状态
观察开关和触发动作如下面的反应性cocoa 4中所示。但在反应性cocoa 5中无法理解Swift 观察UISwich控制状态,swift,reactive-cocoa,reactive-cocoa-5,Swift,Reactive Cocoa,Reactive Cocoa 5,观察开关和触发动作如下面的反应性cocoa 4中所示。但在反应性cocoa 5中无法理解 mediaTypeSwich.rac_signalForControlEvents(.ValueChanged) .flattenMap { (sender:AnyObject!) -> RACStream! in let segment = sender as UISegmentedControl
mediaTypeSwich.rac_signalForControlEvents(.ValueChanged)
.flattenMap { (sender:AnyObject!) -> RACStream! in
let segment = sender as UISegmentedControl
switch segment.selectedSegmentIndex {
case 0:
return self.photoSignal()
default:
return self.videoSignal()
}
}
.deliverOnMainThread()
.subscribeNextAs{(photosFetchResult: PHFetchResult) in
self.fetchResult = photosFetchResult
self.mediaCollectionView.reloadData()
}
我怎样才能为你做到这一点呢
我想做的是
testSwitch.reactive.trigger(用于:.valueChanged)
然后
获取控件启用状态并根据状态触发操作。我不确定你的意思,你想听听segmentedControl的索引值更改,是吗 你可以试试这些:
var selectedIndex = MutableProperty<NSInteger>(0)
segControl.reactive
.selectedSegmentIndexes
.map({ $0 }).observeValues({ log.debug($0) })
请更改UISwitch而非UISegmentedControl的答案
let `switch` = UISwitch.init(frame: CGRect(x: 100, y: 100, width: 0, height: 0))
self.view.addSubview(`switch`)
`switch`.reactive.isOnValues.observeValues({ print($0) })