2016-04-11 19 views
0

Gibt es einen Operator, der nil filtern kann? Der nächstgelegene ich gekommen, ist die Lösung hier erwähnt: https://github.com/ReactiveX/RxSwift/issues/209#issuecomment-150842686Ignorieren/Filtern

Relevante Auszug:

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() } 
    } 
} 

Doch nach .notNil() ist E noch optional, so dass nachfolgende verkettete Betreiber noch sehen self als Observer<E> wo E optional . So brauche ich noch einen zusätzlichen Operator, der tut:

.map { (username: String?) -> String in 
    return username! 
} 

Ich muss etwas fehlen. Dies scheint ein sehr häufiges Bedürfnis zu sein.

Antwort