Тип контекстного закрытия '(_, _) -> _' ожидает 2 аргумента ошибки при использовании RxSwift Observable.zip - PullRequest
0 голосов
/ 24 октября 2018

Как исправить следующую ошибку сборки при построении кода ниже:

Тип контекстного закрытия '(_, _) -> _' ожидает 2 аргумента, но 1 использовался в теле закрытия Insert ', <# arg #> '

Код

func getIncidentAndResolutionTree() -> Observable<([Incident],[Resolution])>
{
    return Observable.zip(getIncidents(), getResolutionTree(), resultSelector: { results  -> ([Incident], [Resolution]) in
        return results
    })
}

Конфигурация

Xcode 9.4.1,Swift 4.1 RxSwift 4.3.1

1 Ответ

0 голосов
/ 26 октября 2018

Lambda ожидает 2 параметра, а не только results.

Это скомпилирует -

return Observable.zip(getIncidents(), getResolutionTree(), resultSelector: { (incidents, resolutions)  -> ([Incident], [Resolution]) in
  return (incidents, resolutions)
})

Хотя это было бы более элегантно -

return Observable.zip(getIncidents(), getResolutionTree()) { ($0, $1) }

...