Swift自定义UITableViewController:switch语句case标签部分enum

时间:2015-05-13 17:14:06

标签: ios uitableview swift enums switch-statement

使我的代码更具可读性可维护的,对于控件表达式为Int的switch语句中的case标签,使用标签而不是硬编码Int的最佳方法是什么?

例如,在SettingsTableViewController内,我试过

enum Section : Int {
    case Phone
    case LogOut
    case DeleteAccount
}

并在– tableView:didSelectRowAtIndexPath:

switch indexPath.section {
case .Phone:
    // Push EditPhoneViewController
case .LogOut:
    // Log out
case .DeleteAccount:
    // Present action-sheet confirmation
}

但得到了编译错误

Enum case pattern cannot match values of the non-enum type 'Int'

1 个答案:

答案 0 :(得分:4)

在切换中,您不能简单地使用indexPath.section,因为它与您的枚举类型不同。

使用switch Section(rawValue: indexPath.section)!