繁体   English   中英

Swift如何使用枚举获取字符串值

[英]Swift how to use enum to get string value

我有枚举:

enum NewProgramDetails: String {
    case Description = "Description", ToMode = "To Mode", From = "From", To = "To", Days = "Days"

    static let allValues = [Description, ToMode, From, To, Days]
}

我想使用这个枚举在我的单元格中显示取决于 indexPath:

cell.textLabel.text = NewProgramDetails.ToMode

错误:无法将“ViewController.NewProgramDetails”类型的值分配给“String?”

如何使用枚举值将其分配给标签文本作为字符串?

在swift 3中,你可以使用它

var enumValue = Customer.Physics
var str = String(describing: enumValue)

使用枚举的rawValue

cell.textLabel.text = NewProgramDetails.ToMode.rawValue

除了使用rawValue

NewProgramDetails.ToMode.rawValue // "To Mode"

你也可以调用String.init来获取枚举值的字符串表示:

String(NewProgramDetails.ToMode)

这将返回"ToMode" ,它可能与您指定的rawValue略有不同。 但是如果你懒得不分配原始值,可以使用这个String.init方法!

我已经通过文字向 feedbackassistant 发布了反馈:

\/>

代码:

let test: AVCaptureDevice.Position = .back
print("This is fail: \(test)")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM