'Bool' 不能转换为 '() throws -> Bool'

'Bool' is not convertible to '() throws -> Bool'

我刚开始学习 RxSwift,遇到了奇怪的编译时错误。 有效代码:

let createChatFlow = createChatBinding.createAction
            .withLatestFrom(createChatInputs)
            .map {  ([=11=].0, [=11=].1, [=11=].2.map {[=11=].id}) }
            .filter { ![=11=].2.isEmpty && [=11=].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' is not convertible to '() throws -> Bool' 并指向 filter 行。任何帮助将不胜感激。

尝试.flatMapLatest { element -> <RETURN TYPE> in ...。 如果 flatMap 块仅包含一行,则 return 类型 - 不是必需的。