swift中关于枚举的问题

enum MenuButtonType:Int{
    case Return = 0, Caterine, AboutUs, Message, Logout
}

有如上枚举,为了代码的可读性,想用上面的枚举给一些类似的按钮做区别。

button.tag = MenuButtonType.Return // swift中比较强调类型 这样的附值是错误的

我暂时的想法是写一个分类

extension UIButton
{
    func transformEnumToTag (type:MenuButtonType)
    {
        switch type
        {
        case .Return:
            self.tag = 0
            ....
        }
    }
}

但是到时候又要转换回来,比较麻烦。
请问有什么好的方法

阅读 2.9k
2 个回答
  1. UIButton命名规则加个字符区分

  2. 继承UIButton,加个属性区分

你这种情况,就应该有一个 MenuButton 去继承 UIButton,然后内部有一个属性是 type。

你这样的解决方式,非常的不优雅、不正确的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题