Есть ли способ не инициировать значение init переменной <t> ?
См. Ниже код.
class ViewController4: UIViewController {
var disposeBag = DisposeBag()
let v = Variable(0)
override func viewDidLoad() {
super.viewDidLoad()
v.asObservable()
.subscribe(onNext: { print($0) })
.disposed(by: disposeBag)
v.value = 1
}
}
Когда он будет запущен, он распечатает
0
1
Тем не менее, я не хочу, чтобы он работал на 0
, или говоря, что 0
- это просто значение, используемое для инициализации v
. Могу ли я сделать это? Или я должен отложить код в момент, когда я его использую?
Ответы
Ответ 1
Вы можете использовать оператор .skip
для подавления N первого элемента. Таким образом, в вашем случае skip(1)
будет подавлять значение init.
http://reactivex.io/documentation/operators/skip
v.asObservable().skip(1)
.subscribe(onNext: { print($0) })
.disposed(by: disposeBag)
v.value = 1
//Output : 1
v.value = 2
v.value = 3
//Output : 1 2 3