[英]Cannot convert return expression of type
我正在努力解決這個問題。 我有一個動態框架,它實現了一個網絡API,讓我們使用GitHub。
動態框架使用以下方法實現名為GitHub
的類:
func repos() -> Promise<[Repository]>
promise實現是我自己的實現,它與app目標和動態框架目標共享。
在app目標中,我定義了一個協議Client
。
protocol Client {
func repositories() -> Promise<[RepositoryWrapper]>
}
然后我讓GitHub
從這個協議擴展,以便將[Repository]
轉換為[RepositoryWrapper]
。
extension GitHub: Client {
func repos() -> Promise<[RepositoryWrapper]> {
return repositories().map({ repos in
repos.map { transform(repository: $0) }
})
}
private func transform(repository: Repository) -> RepositoryWrapper {
return RepositoryWrapper(id: repository.id, nameWithOwner: repository.nameWithOwner)
}
}
但是我目前收到錯誤消息:
Cannot convert return expression of type 'Promise<[RepositoryWrapper]>' to return type 'Promise<[RepositoryWrapper]>'
我不太清楚如何解決這個問題,因為錯誤消息表明類型是相同的。 如果需要在Promise上實現map,我很樂意擴展這個問題。
似乎問題是我通過將Promise實現共享給兩個目標來使用它。 一旦我將它添加到框架目標並公開在應用程序中使用它,上面的實現就開始工作了。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.