4

フィルタリングできる演算子はあります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!
}

私は何かが欠けているに違いない。これは、非常に一般的なニーズのようです。

4

3 に答える 3