2017-08-23 18 views
1

RxSwiftを学び始めたばかりで、奇妙なコンパイル時エラーに直面しました。私は最後のクロージャの内部でいくつかのコードを書くとき'Bool'は '()throws - > Bool'に変換できません

createChatInputs - tuple (UIImage?, String?, [User]) 

:しかし

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

説明:作品 コード

.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。どんな助けもありがとう。

答えて

1

try .flatMapLatest { element -> <RETURN TYPE> in ... flatMapブロックに単一行しか含まれていない場合は、型を返す必要はありません。

+0

ありがとう、私は非常にそのエラーメッセージについては混乱していた:) –

関連する問題