gpt4 book ai didi

swift - 基于 swift 2 中的另一个枚举创建一个枚举

转载 作者:行者123 更新时间:2023-11-28 08:50:16 24 4
gpt4 key购买 nike

考虑这样一种情况,您想要创建一个主枚举,其中包含通用操作的所有可能结果(例如服务器对具有通用和专用结果的不同请求的响应)。然后你想对不同操作的可能结果进行分类,但你想使用主枚举来避免一遍又一遍地重新定义案例。怎么可能?你不可能在 swift 中继承枚举,所以继承就没有了,你不能将其他枚举的值作为你的枚举案例的值。

用例示例:

 // Here is the master enum which contains all possible conditions

enum ServerError: ErrorType{

case Forbidden(String?)
case Malformed(String?)
case NotFound(String?)
case InternalError(String?)
case Unauthorized(String?)
...
}

以下不起作用,因为 swift 提示

Raw type "ServerError.ServerError" is not convertible to any literal

   enum LoginError : ServerError {

case ServerError.NotFound(String?)
case ServerError.InternalError(String)

}

我并不想完全这样做,我只是在寻找一种方法来实现这个想法:在不同的枚举中对一个主枚举进行子集化,这样它们就可以被重用,并且只在可能的情况下安全地切换大小写情况。

如果我的问题需要进一步说明,请告诉我。

谢谢

最佳答案

您尝试做的是继承,您不能在枚举或结构之间继承。

所以你最好的选择是使用 class ,其中你将有一个名为 ServerError 的类和一个名为 LoginError

关于swift - 基于 swift 2 中的另一个枚举创建一个枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34429046/

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