使我的代码更具可读性可维护的,对于控件表达式为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'
答案 0 :(得分:4)
在切换中,您不能简单地使用indexPath.section
,因为它与您的枚举类型不同。
使用switch Section(rawValue: indexPath.section)!