我想不出一种方法来从便利初始化中的嵌套枚举中检索原始值。 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