当前位置: 首页 > 面试题库 >

Swift:将枚举值转换为String吗?

徐帅
2023-03-14
问题内容

鉴于以下枚举:

enum Audience {
    case Public
    case Friends
    case Private
}

如何"Public"audience下面的常量获取字符串?

let audience = Audience.Public

问题答案:

不确定此功能是在哪个Swift版本中添加的,但是现在( Swift 2.1 )您只需要以下代码:

enum Audience : String {
    case public
    case friends
    case private
}

let audience = Audience.public.rawValue // "public"

如果将字符串用于原始值,则每种情况的隐式值都是该 情况名称文本

[…]

enum CompassPoint : String {
    case north, south, east, west
}

在上面的示例中,CompassPoint.south的隐式原始值为“ south”,依此类推。

您可以使用其rawValue属性访问枚举用例的原始值:

let sunsetDirection = CompassPoint.west.rawValue
// sunsetDirection is "west"

资源。



 类似资料:
  • 问题内容: 我有一个返回int类型的函数。但是,我只有TAX枚举的值。 如何将TAX枚举值转换为整数? 问题答案: 您需要以某种方式使枚举公开,例如 (顺便说一句,我将名称更改为更常规和易读。) 这是 假设 您要在构造函数中分配值。如果这不是您想要的,则需要向我们提供更多信息。

  • 问题内容: 假设我有一个包含100个值的枚举。为了简单起见,请采用以下示例: 我想创建一个公共方法,以将具有已知格式(例如“ string1”,“ string2” …)的字符串转换为适当的枚举值CODE_1,CODE_2 …通常是通过遍历所有值来完成的,如果找到匹配项,返回该枚举值。 但是,我担心规则循环遍历所有值。这可能是一个巨大的瓶颈吗?如果不是100个元素而是1000个呢? 作为我自己的练

  • 问题内容: 给定以下枚举,将Int强制转换为Java中的枚举的正确方法是什么? 问题答案: 尝试在必须为or的地方,即该枚举的有效序数。 请注意,在Java中,枚举实际上是类(因此,枚举值是对象),因此您不能将an 甚至转换为枚举。

  • 我有枚举类,我想向列表视图显示枚举数据。谁能说出如何做到这一点?

  • 问题内容: 我有一个这样的枚举: 现在我从外部输入中获取一个int并想要匹配的输入-如果不存在值,则抛出异常是可以的,但最好是 在这种情况下。 问题答案: 您需要手动执行此操作,方法是在将Integer映射到枚举的类中添加一个静态映射,例如

  • 问题内容: 我正在尝试用快速的语言编写BMI程序。我有一个问题:如何将字符串转换为Double? 在Objective-C中,我可以这样: 但是如何用Swift语言实现呢? 问题答案: Swift 4.2+字符串加倍 您应该使用新的类型初始值设定项在String和数字类型(Double,Float,Int)之间进行转换。它会返回一个可选类型(Double?),该类型将具有正确的值;如果String