2

在反应可可 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)

接着

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

4

1 回答 1

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) })
于 2016-12-02T06:25:58.707 回答