首页 > 解决方案 > 来自 rawValues 的 Swift 初始化数组

问题描述

我有一个枚举的原始值数组。在一行 Swift 代码中,是否可以从这个原始值数组中创建一个枚举数组?

标签: iosswiftenums

解决方案


它甚至可以更容易。

enum Fruit: String {
    case apple = "Apple"
    case banana = "Banana"
}

let rawValues = ["Banana", "Apple", "Apple", "Pig"]
let enums = rawValues.compactMap(Fruit.init)

您可以简单地为 compactMap 提供 init 方法,它将消除所有无法创建水果的情况


推荐阅读