观察开关和触发动作在反应性可可中如下所示4.但是在反应性可可5中无法弄清楚。
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()
}
我怎样才能为反应性可可5做到这一点
我想做的是
testSwitch.reactive.trigger(for: .valueChanged)
然后
根据状态获取控制启用状态和触发操作。
答案 0 :(得分:1)
我不确定你的意思是什么,你想听听segmentedControl改变的索引值,不是吗?
你可以试试这些:
var selectedIndex = MutableProperty<NSInteger>(0)
segControl.reactive
.selectedSegmentIndexes
.map({ $0 }).observeValues({ log.debug($0) })
要监控更改的UISwitch值,您可以尝试:
let `switch` = UISwitch.init(frame: CGRect(x: 100, y: 100, width: 0, height: 0))
self.view.addSubview(`switch`)
`switch`.reactive.isOnValues.observeValues({ print($0) })