观察UISwich控制状态

时间:2016-12-01 17:04:43

标签: swift reactive-cocoa reactive-cocoa-5

观察开关和触发动作在反应性可可中如下所示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)

然后

根据状态获取控制启用状态和触发操作。

1 个答案:

答案 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) })