gpt4 book ai didi

ios - 无法转换类型的返回表达式

转载 作者:行者123 更新时间:2023-11-29 05:49:28 24 4
gpt4 key购买 nike

我目前正在努力解决这个问题。我有一个动态框架,它实现了网络 API,让我们可以使用 GitHub。

动态框架使用以下方法实现名为 GitHub 的类:

func repos() -> Promise<[Repository]>

promise 实现是我自己的实现,与应用程序目标和动态框架目标共享。

在应用程序目标中,我定义了一个协议(protocol)Client

protocol Client {
func repositories() -> Promise<[RepositoryWrapper]>
}

然后我让 GitHub 从此协议(protocol)扩展,以便将 [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 实现共享给两个目标来使用它。一旦我仅将其添加到框架目标并将其公开以在应用程序中使用它,上述实现就开始工作。

关于ios - 无法转换类型的返回表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55825824/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com