何时可以在RxSwift中使用onNext
如果我有何时可以在RxSwift中使用onNext,swift,rx-swift,behaviorsubject,Swift,Rx Swift,Behaviorsubject,如果我有 let myValue = BehaviorSubject(value: 30) myValue.subscribe(onNext: { print($0) }, onError: { error in print(error) }, onCompleted: { print("Completed") }, onDisposed: { print("Disposed") }).disposed(by: bag) myValue.onNext(
let myValue = BehaviorSubject(value: 30)
myValue.subscribe(onNext: {
print($0)
}, onError: { error in
print(error)
}, onCompleted: {
print("Completed")
}, onDisposed: {
print("Disposed")
}).disposed(by: bag)
myValue.onNext(33)
myValue.onNext(200)
我可以使用onNext
添加更多值,如上所示。但是如果我用
let myValue2 = BehaviorSubject.of(1, 2, 3, 4, 5)
然后,
onNext
就不起作用了。为什么?这是因为onNext
只对具有单个值的可观察对象起作用吗?如果您查看文件Sequence.swift,其中定义了(:)
的公共静态函数ObservableType.of,您将看到该函数返回一个可观察对象,而不是行为主体
所有的observedtype
都有这个函数,并且BehaviorSubject
是一个可观察类型,但是它返回的所有类型都是相同的。如果您查看文件Sequence.swift,其中定义了(:)
的公共静态函数observedtype,不是行为主体
所有的observeType
s都有这个函数,BehaviorSubject
是一个可观察类型,但它对所有类型都返回相同的值。BehaviorSubject(值:30)-创建BehaviorSubject,BehaviorSubject.of(1,2,3,4,5)-创建可观察,可观察没有onNextAh,谢谢。但是,如果它是可观察的,为什么它被称为行为主体?它仍然是可观察的类型,通过docsBehaviorSubject(值:30)-创建行为主体,行为主体。of(1,2,3,4,5)-创建可观察的,可观察的没有onNextAh,谢谢。但是,如果它是可观察的,为什么它被称为行为主体?它仍然是可观察的主体,请查看文档