Firebase setValue函数会将应用程序冻结2分钟

时间:2019-04-20 15:02:20

标签: ios swift firebase

我正在构建一个出勤应用程序作为我的研究生项目,当讲师单击商店记录按钮时,将触发以下代码以保存出勤记录并更新每个学生的出勤时间。问题是该应用程序冻结1-2分钟,并且在冻结时CPU保持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)
    }
}

0 个答案:

没有答案