Swift ';布尔';不可转换为';()抛出->;布尔';

Swift ';布尔';不可转换为';()抛出->;布尔';,swift,reactive-programming,rx-swift,Swift,Reactive Programming,Rx Swift,我刚刚开始学习RxSwift,面临着奇怪的编译时错误。 有效的代码: let createChatFlow = createChatBinding.createAction .withLatestFrom(createChatInputs) .map { ($0.0, $0.1, $0.2.map {$0.id}) } .filter { !$0.2.isEmpty && $0.1?.isEmpty ==

我刚刚开始学习RxSwift,面临着奇怪的编译时错误。 有效的代码:

let createChatFlow = createChatBinding.createAction
            .withLatestFrom(createChatInputs)
            .map {  ($0.0, $0.1, $0.2.map {$0.id}) }
            .filter { !$0.2.isEmpty && $0.1?.isEmpty == false }
            .flatMapLatest { element in
                return self.conversationManager.create(chat: Chat(), with: element.0 ?? LetterImage(size: kDefaultAvatarSize, fullName: element.1 ?? kEmptyStringValue).getImage()!)
        }
说明:

createChatInputs - tuple (UIImage?, String?, [User])
但当我在最后一个闭包中编写一些代码时:

.flatMapLatest { element in
            var chat = Chat()
            chat.owner = AppState.current.user.id

            return self.conversationManager.create(chat: chat, with: element.0 ?? LetterImage(size: kDefaultAvatarSize, fullName: element.1 ?? kEmptyStringValue).getImage()!)
    }

编译器说:
“Bool”不能转换为“()throws->Bool”
,并用
过滤器指向行。任何帮助都将不胜感激。

请尝试使用
.flatMapLatest{element->in…

如果
flatMap
块只包含一行,则返回类型-是不必要的。

谢谢,我对错误消息感到非常困惑:)