gpt4 book ai didi

swift - 我可以有一个具有可变数量参数的通用枚举吗?

转载 作者:行者123 更新时间:2023-11-30 12:03:12 26 4
gpt4 key购买 nike

我正在编写一个网络层,并且,我编写了一个枚举来封装请求的结果:

enum RequestResult<T> {
case success(T)
case error(RequestError)
}

对于每个请求,我只能判断成功或失败。然后,我可以这样使用:

class PostsRequest {
...
static func fetch(completion: @escaping (RequestResult<[Post]>) -> Void) {

但是,我如何使用我的通用 RequestResult在没有成功结果的请求中,或者有很多成功结果的请求中?我可以在一个案例中编写一个具有可变数量的通用枚举吗?

最佳答案

对于没有结果的请求,您可以只使用 Void 类型:

let request: RequestResult<Void> = .success()

对于具有多个结果的请求,我不太理解您的问题,因为在您提供的示例中,您已经将多个结果建模为数组:

RequestResult<[Post]>

如果您想要的是多个结果,每个结果都有不同的类型,您应该将它们放入结构/类中,然后将该类型作为泛型传递给您的 ResquestResult 枚举。

关于swift - 我可以有一个具有可变数量参数的通用枚举吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46966957/

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