Соблюдать состояние контроля UISwich

Наблюдение за переключателем и действием триггера похоже на реактивное какао 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 ответ

Решение

Я не уверен, что значит ur. Вы хотите прослушать изменение индекса 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) })
Другие вопросы по тегам