2017-06-12 73 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