Привет, Я пытаюсь понять библиотеку RxSwift, чтобы лучше писать функциональный код.RxSwift filter Переменный массив
В настоящее время я застрял в очень простой проблеме. Допустим, я получил это переменные типа 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>>>')
Откуда эта информация? Я не смог найти документацию по классу Variable. – dehlen
Да, я обновил вопрос с ошибкой, которую я сейчас получаю. – dehlen