是否可以在没有源的现有枚举中添加案例?

时间:2015-04-16 06:03:58

标签: ios uitableview swift

我正在实现自己的TableView,因为我希望在使用reloadRowsAtIndexPaths:withRowAnimation重新加载行时有特殊动画。

问题是我在调用此方法时需要提供一种动画。所以我想知道是否可以在UITableViewRowAnimation枚举中添加一个额外的案例?

1 个答案:

答案 0 :(得分:3)

不,这是不可能的,至少有一个原因:不使用default案例的switch语句将无法编译,因为它们会丢失新添加的案例。

考虑这个枚举:

enum TestEnum {
    case ONE
    case TWO
}

以及使用它的一些代码:

let testOne = TestEnum.ONE

switch testOne {
case .ONE:
    println("one")

case .TWO:
    println("two")
}

如果您能够在扩展程序中添加一个或多个案例:

extension TestEnum {
    case THREE
}

然后上面写的switch语句将无法编译,因为没有处理新案例。