Ios RxSwift转换可观测值<;布尔>;可观察<;无效>;

Ios RxSwift转换可观测值<;布尔>;可观察<;无效>;,ios,swift,generics,sequence,rx-swift,Ios,Swift,Generics,Sequence,Rx Swift,我还不太相信RxSwift,而且很难理解。在阅读了不同的材料后,我无法继续工作和操作序列。 总的来说,我在类型转换方面有问题: Cannot convert return expression of type 'Observable<Bool>' to return type 'Observable<Void>' (aka 'Observable<()>') 停止功能返回可观察 完成视图: return stop(project: self.

我还不太相信RxSwift,而且很难理解。在阅读了不同的材料后,我无法继续工作和操作序列。 总的来说,我在类型转换方面有问题:

Cannot convert return expression of type 'Observable<Bool>' to return type 'Observable<Void>' (aka 'Observable<()>')    
停止
功能返回可观察

完成视图:

    return stop(project: self.projectId).flatMap { _ in
        Observable<Void>.empty()
    }
returnstop(项目:self.projectId).flatMap{uu}in
可观察的。空的()
}
让voidObservable=boolObservable.map{Void()}

让voidObservable=boolObservable.map{{invoid()}

如果您只希望在布尔值为true时发出一个值:


让voidObservable=boolObservable.filter{$0}.map{{invoid()}

添加此扩展:

public extension ObservableType {
    func mapToVoid() -> Observable<Void> {
        return map { _ in }
    }
}

是的,在某些情况下你是对的。我在下面为我们工作的代码中找到了提示:。map{invoid()},看起来您可能需要空参数,您提到的代码不工作,并且失败:“closure参数列表的上下文类型需要1个参数,不能隐式忽略”
public extension ObservableType {
    func mapToVoid() -> Observable<Void> {
        return map { _ in }
    }
}
myObservable.mapToVoid()