Имя переменной UILabel - PullRequest
0 голосов
/ 29 апреля 2020

Можно ли сделать ярлык переменной? У меня есть несколько меток:

@IBOutlet weak var FL1at0: UIButton!
@IBOutlet weak var FL1at3: UIButton!
@IBOutlet weak var FL1at6: UIButton!
@IBOutlet weak var FL1at9: UIButton!
@IBOutlet weak var FL1at12: UIButton!
@IBOutlet weak var FL1at15: UIButton!
@IBOutlet weak var FL1at18: UIButton!
@IBOutlet weak var FL1at21: UIButton!

Пример функции:

       else
       {
           UserDefaults.standard.set(true, forKey: "RedFl1")
           self.FL1at0.setTitleColor(UIColor.red, for: .normal); self.ProgressUpdate()
       }

Есть ли способ настроить таблицу таким образом, чтобы работать так:

self.FL1at"\(TimeStamp)".setTitleColor(UIColor.red, for: .normal)//TimeStamp comes from function

Ответы [ 2 ]

0 голосов
/ 29 апреля 2020

Попробуйте это:

let dict: Dictionary<String, UIButton> = ["FL1at0": FL1at0, "FL1at3": FL1at3, ...]
let x = "FL1at\(TimeStamp)"
if let y = dict[x] as? UIButton {
    y.setTitleColor(UIColor.red, for: .normal)
}
0 голосов
/ 29 апреля 2020

Вы не можете. Но вы можете сохранить кнопки в словаре:

var dic: [String: UIButton] = ["FL1at0": FL1at0]

, затем вы можете использовать имя для доступа к нему, например:

dic["FL1at\(TimeStamp)"]?.setTitleColorxxxx..
...