Вы можете просто установить p1ViewColor.backgroundColor = UIColor.red
например
Но, прежде всего, вам следует изменить структуру структуры данных , поэтому вы боретесь.
Насколько я понимаю, может быть два состояния Присутствие и Отсутствие, и этого можно достичь с помощью простого Bool
в вашем docSnapshot
. Представьте, что существует простая переменная с именем "Present"
, которая равна true
, если присутствует, и false
, если она отсутствует, ваш код может выглядеть следующим образом:
override func viewWillAppear(_ animated: Bool) {
super.viewWillAppear(animated)
pListener = docRef.addSnapshotListener { (docSnapshot, error ) in
guard let docSnapshot = docSnapshot, docSnapshot.exists else { return }
guard let myData = docSnapshot.data() else { return }
let present: Bool = myData["Present"] // "Present" is now a Boolean
self.p1Label.text = present ? "Present" : "Absent"
p1ViewColor.backgroundColor = present ? .green : .red
}
}
красивее и легче для чтения.