我創建瞭如下的枚舉,並嘗試使用fromRaw()函數。如何使用枚舉的fromRaw()函數
enum Test : Int {
case a = 1
case b, c
func description() -> String{
switch self {
case .a:
return "a"
default:
return String(self.toRaw())
}
}
}
它適用於我這樣使用的情況。 bvalue.description()給我結果「2」。
if let bvalue = Test.fromRaw(2) {
bvalue.description()
}
但是,當我嘗試使用它沒有If語句,如下所示。它在第二行給我一個錯誤的通知:「無效的'()'用來調用一個非函數類型字符串的值。」
let bvalue = Test.fromRaw(2)
bvalue.description()
我很困惑。 If或If If語句有什麼區別?爲什麼第二種方式無法工作?從()函數返回的是什麼類型?
你能正確地格式化你的代碼,使其更具可讀性嗎? –
[爲什麼我會使用if和let together,而不是僅僅檢查原始變量是否爲零? (Swift)](http://stackoverflow.com/questions/24049377/why-would-i-use-if-and-let-together-instead-of-just-checking-if-the-original-va) – Chuck