ios - 如何通过转换 Swift 中可观察对象中包含的值来返回值?
问题描述
我对 Swift 和 iOS 很陌生,所以请多多包涵。我正在尝试设置一个可观察的计算属性。像这样的东西..
var mySection: Observable<DashboardSection>{
return Observable.just(
// unpack an "O1" observable and transform it, re-wrap it in different class
}
我有一个 O1 observable 类型
let O1 : Observable<[Class1?]>
在计算属性中,我想从 O1 observable 中提取数组并对其进行一些计算,然后将其打包到不同的类中并返回它。
我有一段代码在此处使用多个源执行完全相同的操作Observable.combineLatest(o1,o2,o2, resultSelector)
,结果选择器可以执行此操作并返回值,但是我如何仅针对单个源执行此操作?
解决方案
假设那是 RxSwift,根本不需要使用计算属性。如果仪表板逻辑将在整个对象生命周期内有效,通常您会使用.map
init 像这样设置它:
import RxSwift
class SomeClass {
let mySection: Observable<DashboardSection>
init(o1: Observable<[Class1?]>) {
mySection = o1.map { array in
//do the computations on array
//return your DashboardSection value
}
}
}
推荐阅读
- python - 如何在使用 tensorflow 时使用 logits 而不是概率来定义自定义损失函数
- reactjs - 如何在反应中将对象数组作为道具传递?
- java - 用 Java 读取 XML API 响应
- reactjs - 反应钩子形式渲染太多次
- python - 如何根据开始日期和结束日期之间的设定时间间隔来扩展带有额外行的 DataFrame?
- android - android studio 中的活动不显示任何内容,但也返回错误
- android - Android Studio 调试器中的 for 循环非常慢,没有它就快
- python - Python AST - 检测表达式中的非法标记
- php - WooCommerce 循环通过产品的自定义 post_meta
- office-ui-fabric - 如何在其他地方更改时重置 FluentUI 下拉选择?