相关疑难解决方法(0)

如何枚举String类型的枚举?

enum Suit: String {
    case spades = "?"
    case hearts = "?"
    case diamonds = "?"
    case clubs = "?"
}
Run Code Online (Sandbox Code Playgroud)

例如,我该怎么做:

for suit in Suit {
    // do something with suit
    print(suit.rawValue)
}
Run Code Online (Sandbox Code Playgroud)

结果示例:

?
?
?
?
Run Code Online (Sandbox Code Playgroud)

string enums enumerate swift

510
推荐指数
17
解决办法
22万
查看次数

将所有枚举值作为数组获取

我有以下枚举.

enum EstimateItemStatus: Printable {
    case Pending
    case OnHold
    case Done

    var description: String {
        switch self {
        case .Pending: return "Pending"
        case .OnHold: return "On Hold"
        case .Done: return "Done"
        }
    }

    init?(id : Int) {
        switch id {
        case 1:
            self = .Pending
        case 2:
            self = .OnHold
        case 3:
            self = .Done
        default:
            return nil
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

我需要将所有原始值作为字符串数组(如此["Pending", "On Hold", "Done"]).

我将此方法添加到枚举中.

func toArray() -> [String] {
    var n = 1
    return Array(
        GeneratorOf<EstimateItemStatus> …
Run Code Online (Sandbox Code Playgroud)

arrays enums swift

71
推荐指数
7
解决办法
4万
查看次数

标签 统计

enums ×2

swift ×2

arrays ×1

enumerate ×1

string ×1