Если клиент Firebase не подключен к своим серверам, любые операции записи из этого приложения всегда ставятся в очередь клиентом Firebase. Когда соединение восстанавливается, клиент Firebase отправляет записи в очередь на сервер.
Когда вы включаете постоянство диска клиент Firebase записывает операции записи в очереди в файл на диске. Клиент Firebase также записывает любые результаты последних операций чтения в этот же файл. Таким образом, они также переживут любое завершение работы приложения и будут доступны / повторены, когда пользователь (пере) запустит приложение и установит соединение.
Код, который вы показали, никак не связан с записями в очереди. Это:
scoresRef.queryOrderedByValue().queryLimited(toLast: 4).observe(.childAdded) { snapshot in
Присоединяет слушателя / наблюдателя к scoresRef
, чтобы получить 4 самых высоких балла. Если клиент подключен к серверу, это будут самые последние / самые высокие оценки. Если клиент не подключен к серверу, но имеет данные для scoresRef
на диске, это будут самые последние / самые высокие оценки, поскольку клиент их видел в последний раз.