Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/swift/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Swift 观察UISwich控制状态_Swift_Reactive Cocoa_Reactive Cocoa 5 - Fatal编程技术网

Swift 观察UISwich控制状态

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

观察开关和触发动作如下面的反应性cocoa 4中所示。但在反应性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()
            }
我怎样才能为你做到这一点呢

我想做的是

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