2017-06-12 68 views
0

我實現了一個按鈕操作,該操作從具有UIlabel.text的一個視圖切換到另一個視圖,該視圖將顯示另一個與之對應的特定標籤。從兩個不同視圖切換多個標籤

的方法我用,目前情況如下:

func switchCard(_ sender: Any) { 

if item1.text == "Fabulae"{ 
     item2.text = " expriment" 
     } 
    if item1.text == " simulacra"{ 
     item2.text = "finxere" 
    } 
    if item1.text == "tergentes"{ 
     item2.text = "icet" 
    } } 

及其工作,但我需要重複很多次了一百時間爲每個項目,所以我如果它存在一個想知道更簡單的方法

我正在考慮用項目1和項目2的標籤來構建變量,以便他們將共享相同的索引並實現一個簡單的語句,以便在我登錄時能夠快速獲取正確的內容按鈕。

我會以正確的方式進行嗎?

預先感謝您閱讀我和您的善意幫助。

問候,

回答

0

試試這個:

enum TypeName: String { 

    case fabulae = "Fabulae" 
    case simulacra = " simulacra" 
    case tergentes = "tergentes" 

    func getNeededText() -> String { 
     switch self { 
     case .fabulae: return " expriment" 
     case .simulacra: return "finxere" 
     case .tergentes: return "icet" 
     } 
    } 

} 

func switchCard(_ sender: Any) { 
    item2.text = TypeName(rawValue: item1.text ?? "")?.getNeededText() 
} 

或者你可以使用字典:

let pairs = ["Fabulae": " expriment", " simulacra": "finxere", "tergentes": "icet"] 

func switchCard(_ sender: Any) { 
    item2.text = pairs[item1.text] 
} 
+0

第二種方法是100%的工作。第一個需要進行測試。謝謝! – readytotakeoof