我有枚举:
enum NewProgramDetails: String {
case Description = "Description", ToMode = "To Mode", From = "From", To = "To", Days = "Days"
static let allValues = [Description, ToMode, From, To, Days]
}
Run Code Online (Sandbox Code Playgroud)
我想使用这个枚举在我的单元格中显示取决于indexPath:
cell.textLabel.text = NewProgramDetails.ToMode
Run Code Online (Sandbox Code Playgroud)
错误:无法指定类型'ViewController.NewProgramDetails'的值来键入'String?'
如何使用枚举值将其作为字符串分配给标签文本?
Dan*_*nov 11
在swift 3中,你可以使用它
var enumValue = Customer.Physics
var str = String(describing: enumValue)
Run Code Online (Sandbox Code Playgroud)
vad*_*ian 10
使用rawValue枚举:
cell.textLabel.text = NewProgramDetails.ToMode.rawValue
Run Code Online (Sandbox Code Playgroud)
除了使用rawValue,
NewProgramDetails.ToMode.rawValue // "To Mode"
Run Code Online (Sandbox Code Playgroud)
你也可以调用String.init来获取枚举值的字符串表示:
String(NewProgramDetails.ToMode)
Run Code Online (Sandbox Code Playgroud)
这将返回"ToMode",这可能与rawValue您指定的有点不同.但是如果你懒得不分配原始值,String.init可以使用这个方法!
| 归档时间: |
|
| 查看次数: |
11344 次 |
| 最近记录: |