У меня в view-модели реактивное закрытие для возврата и сортировки данных из сетевого вызова по типу (доставка или выставление счетов).
Observable.combineLatest(input.headerRefresh, type).flatMapLatest({ (header, type) -> Observable<[AddressItemViewModel]> in
var els : Observable<[AddressItemViewModel]>
els = self.request()
.trackActivity(self.loading)
.trackActivity(self.headerLoading)
.trackError(self.error)
return els.map{
$0.map {
print(type)
var item : AddressItemViewModel!
switch(type){
case .shipping:
if($0.address.isShipping){
item = AddressItemViewModel(with: $0.address)
}
case .billing:
if($0.address.isBilling){
item = AddressItemViewModel(with: $0.address)
}
}
return item // error
}
}
}).subscribe(onNext: { (items) in
elements.accept(items)
}).disposed(by: rx.disposeBag)
При подписке на elements
в контроллере представления,сбой приложения в return item
.
Итак, мой вопрос, как сортировать элементы без использования объектов, которые могут быть пустыми?Спасибо.
Ошибка:
Тема 1: Неустранимая ошибка: неожиданно обнаружен ноль при развертывании необязательного значения