我有一个看起来像这样的枚举:级联枚举返回类型
class CustomButton {
struct Section {
enum Root: Int {
case rootFirst, rootSecond, rootThird
}
enum Top: Int {
case topFirst, topSecond, topThird
}
}
var type: Any?
}
我有不同的CustomButton
是从不同的Section
,我希望能够发现哪一种类型的是每一个CustomButton
通过执行类似customButton.type
。
现在我可以通过在CustomButton
类创建一个type
变量来做到这一点,但与Any
为VAR类型,因为它应该存储不同类型的按钮。问题是每次我得到type
变量,我必须检查我正在使用哪种类型的按钮,如type(of: type)
,然后,将Any
类型转换为type(of: buttonType)
正在报告的内容,以便我可以访问topFirst
或rootSecond
在类型上。
有没有更简单的方法呢?我敢打赌,经过几个小时的研究,我没有找到任何东西,我对Swift也很陌生。
在此先感谢!
'CustomButton'应该是'UIButton'的子类? “类型”可以采用哪些不同的值?它应该是其他的'UIButton'子类还是仅仅是'Section'的不同值? –
是的,对不起,'CustomButton'是'UIButton'的一个子类。 'type'应该从'Root.rootFirst'和'Top.topSecond'等所有枚举中取得所有不同的值。 –