将一个枚举类型分配给另一个枚举类型

问题描述:

如何将一个枚举类型的变量类型转换为另一个枚举类型。我有两个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) 


    } 

无法分配它们。请推荐

+1

同时显示枚举的代码,请。你可以这样做,如果两个枚举使用相同的原始类型,但实际上你不应该这样做 – alexburtnik

+0

@alexburtnik你可以请你看看代码 – Ballu

+1

你为什么要设置SubSection值为一个变量类型是'Section'?在if-else之后,你将如何使用'section'变量? – alexburtnik

我想不出有效的用例,但你可能想使用它的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