swift - Int 类型的变量不能分配给定义为 Int 的枚举

标签 swift enums tags int

枚举在类的开头声明。然后我尝试将 TAG 值分配给枚举;但是编译器给出错误:“MenuItems 无法转换为 Int”

您认为这里的问题是什么?

enum MenuItems : Int {
    case menuItemEmail = 0
    case menuItemName
    case menuItemPassword
    case menuItemAddPet
}

func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
    let cell: SettingsViewTableCell = tableView.dequeueReusableCellWithIdentifier("cell") as SettingsViewTableCell
    cell.cellDescriptionText.tag = MenuItems.menuItemName
}

最后一行是编译时的错误。

最佳答案

具有原始值的枚举具有 rawValue 属性:

cell.cellDescriptionText.tag = MenuItems.menuItemName.rawValue

关于swift - Int 类型的变量不能分配给定义为 Int 的枚举,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28514401/

相关文章:

ios - Swift 中同一 UIView 的多个动画

swift - 枚举在自定义初始化程序中不起作用

python - Django间接泛型关系

svn - SVN可以复制并覆盖目标分支或合并并保留源分支吗?

html - Viber 如何从 HTML 页面中选择要显示的图像

Swift 导航栏按钮和标题不出现

ios - UICollectionView/FlowLayout

swift - 不使用预定义函数反转字符串

javascript - 可以从相应的整数值获取字符串值 - 类似于 Enum 但不是 Enum - 用于查找

c# - 如何使标志枚举在 C# 中以数字方式序列化其组合值?