2016-11-08 290 views
2

如何將一個枚舉類型的變量類型轉換爲另一個枚舉類型。我有兩個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

回答

3

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