我想不出一種方法來從便利初始化中的嵌套枚舉中檢索原始值。 fontName.rawValue
將不起作用,因爲Custom
沒有任何情況。有什麼建議麼?傳遞一個嵌套枚舉作爲參數
extension UIFont {
enum Custom {
enum Roboto: String {
case Regular = "RobotoRegular"
}
enum SanFrancisco: String {
case Semibold = "SFSemibold"
}
}
convenience init?(name fontName: Custom, size fontSize: CGFloat) {
self.init(name: fontName.rawValue, size: fontSize)
}
}
// Example Usage
UIFont(name: .Roboto.Regular, size: 18)
你試圖通過嵌套像這樣的枚舉來實現什麼? – ColGraff
嵌套枚舉提供更好的自動完成結果。 – efremidze
@efremidze強制unwrap像self.init(...)!是我見過的最糟糕的想法。 – user3441734