【发布时间】:2020-05-12 14:42:31
【问题描述】:
我有一个Observable,它返回一个dictionary:
func myFunc() -> Observable<[String : MyClass]> {
return service.getDictionary()
}
如何获取keys 和values?
viewModel.myFunc().subscribe(onNext: {
print("????", $0 )
}).disposed(by: disposeBag)
没有像.key 或.value 这样的属性。我是使用map 还是flatMap 或者它是如何工作的?
【问题讨论】:
-
您知道
Observables 代表事物的序列吗?所以Observable<[String: MyClass]>代表一个字典序列。您是否将其误解为键值对序列? -
对,所以 .flatMap {Observable.from($0)} 会得到键值对的序列。但是,我如何从那里获取值?就像打印出所有的键和它们的关联值一样。
-
如果我理解正确,你会想要
flatMap { Obserable.from(Array($0)) }。在那之后,你可以做你在问题中所做的事情。subscribe和print.
标签: ios swift dictionary rx-swift