我想有我枚舉與@IBInspectable
容易兼容,所以爲了簡單起見,我試圖把它與Bool
類型可表示:原始類型「布爾」不表達任何文字
enum TopBarStyle: Bool {
case darkOnLight
case lightOnDark
}
但Xcode是給我:
原始類型「布爾」是沒有任何文字
這是奇怪的表達,爲true
和false
似乎是文字表達的完美候選人。
我也試圖添加RawRepresentable
一致性與BOOL型:
extension Bool: RawRepresentable {
public init?(rawValue: Bool) {
self = rawValue
}
public var rawValue: Bool {
get { return self }
}
}
但它並沒有解決這個錯誤。
的文檔解決方案是相當清楚的:https://developer.apple.com/library/content/documentation/Swift/Conceptual/Swift_Programming_Language/Enumerations.html#//apple_ref/doc/uid/TP40014097-CH12-ID149:*「原始值可以是字符串,字符或任何整數或浮點數類型。* –
您可以通過在計算的'var boolValue'上添加枚舉 – Connor
要添加到@ MartinR的評論中,'true'和'false'不是文字,它們更接近於常量(常量的名稱由編譯器保留),文字是編譯器有一些神奇的東西轉換爲內部l值。因爲它們是關鍵字,所以沒有必要去理解「true」和「false」。 – BallpointBen