从两个不同的视图切换多个标签

时间:2017-06-12 10:29:48

标签: ios arrays swift label

我实现了一个按钮操作,该操作从一个带有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项标签来构建变量,这样它们将共享相同的索引并实现一个语句,当我按下按钮时,它会使swift能够选择正确的内容。 / p>

我会以正确的方式前进吗?

提前感谢您阅读我和您的帮助。

此致

1 个答案:

答案 0 :(得分: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]
}