您好我正在尝试了解 RxSwift 库以编写更好的功能代码。
目前我陷入了一个非常基本的问题。可以说我得到了这个类型的变量Variable<[CiteModel?]>:
var allCites: Variable<[CiteModel?]> = Variable([])
var shownCites: Variable<[CiteModel?]> = Variable([])
现在我想从allCites包含特定文本的数组中过滤所有引用并将它们添加到shownCites.
这是我尝试过的,但它无法编译,因为我的过滤器块内部$0不是[CiteModel?] 我 CiteModel?所期望的。你能向我解释我做错了什么吗?
private func filterCitesByQuery(query: String) {
self.shownCites = self.allCites.asObservable().filter {
$0?.cite.containsString(query)
}
}
执行上述代码时出错:
Cannot assign value of type 'Observable<[CiteModel?]>' (aka 'Observable<Array<Optional<CiteModel>>>') to type 'Variable<[CiteModel?]>' (aka 'Variable<Array<Optional<CiteModel>>>')