フィルタリングできる演算子はありますnil
か?私が最も近いのは、ここで言及されているソリューションです: https://github.com/ReactiveX/RxSwift/issues/209#issuecomment-150842686
関連する抜粋:
public protocol OptionalType {
func hasValue() -> Bool
}
extension Optional: OptionalType {
public func hasValue() -> Bool {
return (self != nil)
}
}
public extension ObservableType where E: OptionalType {
@warn_unused_result(message="http://git.io/rxs.uo")
public func notNil() -> Observable<E> {
return self.filter { $0.hasValue() }
}
}
ただし、 after .notNil()
,E
はまだオプションであるため、後続の連鎖演算子はwhereがオプションself
として表示されます。したがって、次のことを行う追加の演算子が必要です。Observer<E>
E
.map { (username: String?) -> String in
return username!
}
私は何かが欠けているに違いない。これは、非常に一般的なニーズのようです。