Swift如何使用enum来获取字符串值

我有枚举:

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?’

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

使用枚举的rawValue

 cell.textLabel.text = NewProgramDetails.ToMode.rawValue 

在swift 3中,您可以使用它

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

除了使用rawValue

 NewProgramDetails.ToMode.rawValue // "To Mode" 

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

 String(NewProgramDetails.ToMode) 

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