Соблюдать состояние контроля 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) })