将一个枚举类型分配给另一个枚举类型
问题描述:
如何将一个枚举类型的变量类型转换为另一个枚举类型。我有两个Int Enum。当我创建一个First enum类型的变量并从第二个赋值时,它不允许我。我们如何实现这一目标?将一个枚举类型分配给另一个枚举类型
下面是代码
enum Sections: Int {
case initiateZero = 0
case Air
case Weight
}
enum SubSections: Int {
case MaxPath = 0
case Weight
case FullWeight
}
为了得到它们。
var section = Sections.initiateZero
if isLongForm {
section = Sections(rawValue: indexPath.section)!
} else {
section = SubSections (rawValue: indexPath.section)
}
无法分配它们。请推荐
答
我想不出有效的用例,但你可能想使用它的rawValue
S:
enum Enum1: Int {
case one = 0
case two = 1
}
enum Enum2: Int {
case one = 0
case two = 1
}
let enum1 = Enum1.one
let enum2 = Enum2(rawValue: enum1.rawValue)
print(enum2)
打印:
Optional(Enum2.one)
+0
请看我需要通过indexpath.section的rawvalue的价值infront – Ballu
+0
你是什么意思“价值面前的价值”? – shallowThought
同时显示枚举的代码,请。你可以这样做,如果两个枚举使用相同的原始类型,但实际上你不应该这样做 – alexburtnik
@alexburtnik你可以请你看看代码 – Ballu
你为什么要设置SubSection值为一个变量类型是'Section'?在if-else之后,你将如何使用'section'变量? – alexburtnik