观察 UISwich 控件状态

Observe UISwich control state

在反应式中观察开关和触发动作似乎如下所示 cocoa 4.But 在反应式中无法弄清楚 cocoa 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()
            }

我如何为反应式 cocoa 5

执行此操作

我想做的是

testSwitch.reactive.trigger(for: .valueChanged)

然后

获取控件启用状态并根据状态触发动作。

我不确定你的意思,你想听 segmentedControl 的索引值改变,是吗?

你可以试试这些:

var selectedIndex = MutableProperty<NSInteger>(0)

segControl.reactive
        .selectedSegmentIndexes
        .map({ [=10=] }).observeValues({ log.debug([=10=]) })

要监控 UISwitch 值的变化,你可以试试这个:

       let `switch` = UISwitch.init(frame: CGRect(x: 100, y: 100, width: 0, height: 0))
       self.view.addSubview(`switch`)
       `switch`.reactive.isOnValues.observeValues({ print([=11=]) })