Я пытаюсь сравнить текущую дату с датами, которые я сохранил в Firebase. Я преобразовываю их из отметки времени в даты перед сравнением. И если равно, я хочу установить значение bool1 (переменная) в true, чтобы использовать его позже, чтобы установить цвет фона. При этом я получаю сообщение об ошибке:
Параметр выхода из замыкания, изменяющий себя.
То есть код:
struct RKDate1 {
var date: Date
let rkManager: RKManager1
@State var bool1 = false
var isDisabled: Bool = false
var isToday: Bool = false
var issafed: Bool = false
var isSelected: Bool = false
var isBetweenStartAndEnd: Bool = false
init(date: Date, rkManager: RKManager1, isDisabled: Bool, isToday: Bool, isSelected: Bool, isBetweenStartAndEnd: Bool) {
self.date = date
self.rkManager = rkManager
self.isDisabled = isDisabled
self.isToday = isToday
self.isSelected = isSelected
self.isBetweenStartAndEnd = isBetweenStartAndEnd
let db = Firestore.firestore()
db.collection("Termin").order(by: "date").addSnapshotListener { (snap, err) in
if err != nil{
print((err?.localizedDescription)!)
return
}
for i in snap!.documentChanges{
let id = i.document.documentID
let date1 = i.document.get("date") as! Timestamp
let components = Calendar.current.dateComponents([.day,.month, .year], from: date1.dateValue())
let components1 = Calendar.current.dateComponents([.day,.month, .year], from: date)
let currentdate = Calendar.current.date(from: components1)
let newdate = Calendar.current.date(from: components)
if newdate == currentdate {
self.bool1 = true
}
}
}
}
}