Я создаю приложение посещаемости в качестве своего дипломного проекта, когда инструктор нажимает кнопку записи магазина, следующий код будет запущен для сохранения записи посещаемости и обновления времени посещаемости / отсутствия для каждого студента. Проблема в том, что приложение зависает на 1-2 минуты, а процессор остается на 200% во время остановки, что не так с моим кодом? И как я могу улучшить это? Я новичок в Firebase и NoSQL, поэтому будьте добры, пожалуйста.
for student in students { // 500 elements
if attendees.contains(student.identifier) { // 400 elements
student.attendanceCount += 1
ref.child("class").child(currentClass.identifier).child("students").child(student.identifier).child("attendance").setValue(student.attendanceCount)
ref.child("class").child(currentClass.identifier).child("records").child(date).child("attendance").child(student.identifier).setValue(true)
}
else if absentees.contains(student.identifier) { // 100 elements
student.absenceCount += 1
ref.child("class").child(currentClass.identifier).child("students").child(student.identifier).child("absence").setValue(student.absenceCount)
ref.child("class").child(currentClass.identifier).child("records").child(date).child("attendance").child(student.identifier).setValue(false)
}
}