是否可以在Swift中连接变量名和字符串/整数?

Sla*_*vic 1 uicolor ios swift

在Javascript或jQuery中,可以连接字符串和变量名称,如:

var id = 5;
$("#wrapper_" + id).hide();
Run Code Online (Sandbox Code Playgroud)

使用Swift我想实现同样的目标,例如:

func eventColors (colorID: Int, view: UIView) {
    view.backgroundColor = Constants.Color.eventColor + colorID // Incorrect
}
Run Code Online (Sandbox Code Playgroud)

常数结构:

struct Constants {

   struct Color {
      static let eventColor1: UIColor = UIColor(red:0.06, green:0.44, blue:0.64, alpha:1)
      static let eventColor2: UIColor = UIColor(red:0.86, green:0.30, blue:0.99, alpha:1)
      static let eventColor3: UIColor = UIColor(red:0.50, green:0.44, blue:0.64, alpha:1)
   }

}
Run Code Online (Sandbox Code Playgroud)

vac*_*ama 5

您无法在Swift中动态创建变量名称.你应该考虑在这里使用数组.制作eventColor一系列颜色:

struct Constants {

    struct Color {
        static let eventColor: [UIColor] = [
            UIColor(red:0.06, green:0.44, blue:0.64, alpha:1),
            UIColor(red:0.86, green:0.30, blue:0.99, alpha:1),
            UIColor(red:0.50, green:0.44, blue:0.64, alpha:1)
        ]
    }

}
Run Code Online (Sandbox Code Playgroud)

然后选择你喜欢的颜色:

view.backgroundColor = Constants.Color.eventColor[colorID - 1]
Run Code Online (Sandbox Code Playgroud)