Je viens de commencer à apprendre RxSwift et fait face à une étrange erreur de compilation. Code de qui fonctionne:'Bool' n'est pas convertible en '() throws -> Bool'
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()!)
}
Description:
createChatInputs - tuple (UIImage?, String?, [User])
Mais quand j'écris un code à l'intérieur de la dernière fermeture:
.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()!)
}
Le compilateur dit: 'Bool' is not convertible to '() throws -> Bool'
et le point sur la ligne avec filter
. Toute aide serait appréciée.
Merci, j'étais très confus à propos de ce message d'erreur :) –