簡體   English   中英

類型不符合協議CustomStringConvertible

[英]Type does not conform to protocol CustomStringConvertible

我正在實現try catch枚舉:

enum processError: Error, CustomStringConvertible {

        case one
        var localizedDescription: String{
            return "one"
        }
        case two
        var localizedDescription: String {
            return "two"
        }
    }

但是我收到以下錯誤:

type processError不符合協議CustomStringConvertible

但是,如果我在第二種情況下更改變量的名稱,我不會收到錯誤:

enum processError: Error, CustomStringConvertible {

    case one
    var localizedDescription: String{
        return "one"
    }
    case two
    var description: String {
        return "two"
    }
}

我的問題是為什么我不能為所有情況使用相同的變量名稱?

我真的很感謝你的幫助。

問題是CustomStringConvertible協議需要一個屬性:

var description: String

您需要具有description屬性,否則您將收到不符合協議的錯誤。

我也建議這種方法:

enum processError: Error, CustomStringConvertible {
    case one
    case two

    var description: String {
        switch self {
            case .one:
                return "one"
            case .two:
                return "two"
        }
    }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM