Ios 将一个枚举类型分配给另一个枚举类型
如何将一个枚举类型的变量类型转换为另一个枚举类型。我有两个整数枚举。当我创建第一个枚举类型的变量并从第二个枚举中赋值时,它不允许我这样做。我们如何才能做到这一点 下面是代码Ios 将一个枚举类型分配给另一个枚举类型,ios,swift,swift2,Ios,Swift,Swift2,如何将一个枚举类型的变量类型转换为另一个枚举类型。我有两个整数枚举。当我创建第一个枚举类型的变量并从第二个枚举中赋值时,它不允许我这样做。我们如何才能做到这一点 下面是代码 enum Sections: Int { case initiateZero = 0 case Air case Weight } enum SubSections: Int { case MaxPath = 0 case Weight case FullWeight }
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)
请显示两个枚举的代码。如果两个枚举使用相同的原始类型,则可以这样做,但实际上不应该这样做that@alexburtnik您可以查看代码吗?为什么您要尝试将
小节
值设置为类型为节
的变量?在这之后,您将如何使用节
变量if else
?mby您需要将变量类型标签添加为Any,因为节的类型默认为Sections,或者您应该为两个枚举创建一个协议。如果我将此变量声明为AnyObject,则不允许我在那里进行类型转换。我发现检查它们的唯一方法是声明至少一个枚举类型变量。请查看我需要传递indexpath的rawvalue前面的值。在执行此操作之前,我需要更改该内容。您说的“rawvalue前面的值”是什么意思?