【发布时间】:2016-07-05 08:30:50
【问题描述】:
是否可以创建不同枚举类型的数组?
例如:
MyEnums.swift:
class MyEnums {
enum FirstEnum: String {
case Type1, Type2, Type3
}
enum SecondEnum: String {
case Type1, Type2, Type3
}
}
IteratorManager.swift:
class IteratorManager {
var enumsArray = [MyEnums]()
func iterate() {
for e in enumsArray {
print(e.rawValue)
}
}
}
我尝试了许多解决方案 - 扩展、协议、在结构或枚举中的类中分组(如上面的示例) - 但没有任何效果。
【问题讨论】:
-
您能否提供一个示例,说明您尝试实现的什么,而不是如何 尝试实现这一目标?至于最初的问题,我相信有一个使用协议的简单解决方案。只需为两种枚举类型声明
MyProtocol并使用 Array -
枚举是在编译时创建的静态顶级对象(如类和结构)。如果不添加包含成员的显式数组,则无法遍历枚举的成员。一个例外是具有
Int类型的枚举,以 0 和连续值开头。这个枚举可以通过索引进行迭代。
标签: arrays swift loops enums nested