当前从长嵌套枚举中提取数据的实现似乎非常乏味,并且维护这种结构很费力。下面是我所拥有的一个实现示例,只是想要一些输入,这是否真的是从这些枚举中提取数据的正确方法
import UIKit
import Foundation
enum HousingType {
case House(HousingSubType)
case Apartment(HousingSubType)
case Mansion(HousingSubType)
enum HousingSubType: CaseIterable {
case Victorian
case Modern
case Standard
}
var name: String {
switch self {
case let .House(subtype):
switch subtype {
case .Modern:
return Structure.House.Modern.name
case .Standard:
return Structure.House.Standard.name
case .Victorian:
return Structure.House.Victorian.name
}
case let .Apartment(subtype):
switch subtype {
case .Modern:
return Structure.Apartment.Modern.name
case .Standard:
return Structure.Apartment.Standard.name
case .Victorian:
return Structure.Apartment.Victorian.name
}
case let .Mansion(subtype):
switch subtype {
case .Modern:
return Structure.Mansion.Modern.name …Run Code Online (Sandbox Code Playgroud)