【发布时间】:2016-03-03 22:40:17
【问题描述】:
我想不出一种从便利初始化中的嵌套枚举中检索原始值的方法。 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)
【问题讨论】:
-
你试图通过嵌套这样的枚举来实现什么?
-
嵌套枚举提供更好的自动补全结果。
-
@efremidze 像 self.init(...) 一样强制解包!是我见过的最糟糕的主意。
-
@user3441734 是的,我同意,这只是一个例子。
标签: ios swift enums swift2 uifont