I am trying to create an inheritance for below enum
enum BankAuthError: String {
case authFailed = "AuthFailed"
case technicalError = "Unavailable"
case accountLocked = "Locked"
case unknownError = "UnknownError"
case userInteractionRequired = "UserInteractionNeeded"
case realmUserAlreadyConnected = "UserExists"
}
Run Code Online (Sandbox Code Playgroud)
I am able to use this enum as below
let errorCode = BankAuthError(rawValue:errorMessageCodeString)
Run Code Online (Sandbox Code Playgroud)
Now I am trying to create inheritance from above struct as below
//MARK:- Enum to handle all sysnc errors
enum SyncErrorStatus: BankAuthError {
case usernameOrPasswordMissing = "UsernameOrPasswordMissing"
case signatureMissing = "SignatureMissing"
case twoPhaseAuthentication = "TwoPhaseAuth"
}
Run Code Online (Sandbox Code Playgroud)
But if I am doing this, I am getting the compiler error as
'SyncErrorStatus'声明原始类型'BankAuthError',但不符合RawRepresentable且无法合成一致性
请让我知道我们是否可以从Raw枚举创建继承。
枚举是值类型,因此没有像枚举那样的继承。声明为enumas时enum YourEnum: Type,将声明您的rawValue enum类型Type。但是,Type需要符合RawRepresentable。
您要寻找的是创建一个enum包含另一个枚举的所有情况以及在Swift中当前无法实现的其他情况的。您不能继承枚举的所有情况。
| 归档时间: |
|
| 查看次数: |
264 次 |
| 最近记录: |