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
如何检查RXSwift中的可观察对象是否为空?_Swift_Uitableview_Observable_Rx Swift_Rx Cocoa - Fatal编程技术网

如何检查RXSwift中的可观察对象是否为空?

如何检查RXSwift中的可观察对象是否为空?,swift,uitableview,observable,rx-swift,rx-cocoa,Swift,Uitableview,Observable,Rx Swift,Rx Cocoa,我初始化了一个空的可观察对象,如下所示: var subCategories=Observable.empty() 如何检查可观察对象是否为空?如果观察对象为空,我希望向用户显示“空视图”,否则在tableview中显示数据。创建一个布尔观察对象以显示/隐藏您的空视图: let hideEmptyView = subCategories.map{!$0.isEmpty} 然后将此hiddeemptyviewBool Observable绑定到yourEmptyView.rx.isheden使

我初始化了一个空的可观察对象,如下所示:

var subCategories=Observable.empty()

如何检查可观察对象是否为空?如果观察对象为空,我希望向用户显示“空视图”,否则在tableview中显示数据。

创建一个布尔观察对象以显示/隐藏您的空视图:

let hideEmptyView = subCategories.map{!$0.isEmpty}

然后将此
hiddeemptyview
Bool Observable绑定到
yourEmptyView.rx.isheden
使用行为继电器,而不是Observable

import RxCocoa
import RxSwift

var subCategories = BehaviorRelay<[String]>(value: [])
let emptyView = UIStackView()

func addObservers() {
    subCategories.asObservable().subscribe { _ in
        self.emptyView.isHidden = !self.subCategories.value.isEmpty
    }.disposed(by: DisposeBag())
}
导入RxCocoa
导入RxSwift
var子类别=行为相关性(值:[])
让emptyView=UIStackView()
func addobsers(){
subCategories.asObservable().subscribe{uu}in
self.emptyView.ishiden=!self.subCategories.value.isEmpty
}.disposed(由:DisposeBag()处理)
}

Empty Observable是指一个可观测对象发出一个
onComplete
。您描述的用例应该使用一个可观察的对象来实现,该对象发出长度从0到n的
[String]