簡體   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